将 C# 字符串分配给 Javascript 变量

Assign C# string to Javascript variable

 var nUserID = '<% if (ids != null) {ids.userID.ToString();}%>'

注意:ids 不为空,ids.userID 也不为空,但 em 得到 nUserID = ""
有没有办法将 C# 字符串转换为 Javascript 字符串?

要直接写在页面上,您需要使用 Response.Write as

 var nUserID = <% if (ids != null) {Response.Write(ids.userID.ToString());}%>

除此之外,如果您需要在末尾添加 ; 或将其置于配额内,由您决定。

<% %>没有写在页面上,只是运行代码。
<%= %> 在页面上写为 Response.Write

var nUserID = '<%=((ids != null) ? ids.userID.ToString() : "0")%>';

更合适的解决方案是将 ids.userID 保存到某些相关 html 元素的数据属性,或者只创建不可见的 div 元素,其中包含您要在其中使用的所有 C# 数据您的 javascript 代码作为 data 属性。然后使用 jQuery 在脚本中提取该数据。

<div id="settings" style="display: none;" data-user-id="<%= ids.userID %>"></div>

和javascript:

var nUserID = $('#settings').data('user-id');

像这样使用:

 <script  type="text/javascript">

   var nUserID = '<%=ids.userID.ToString()%>';

if(!nUserID)
{ 
 //check for null in javascript
alert(nUserID);

}

   </script>