2015-02-06 84 views
0
var nUserID = '<% if (ids != null) {ids.userID.ToString();}%>' 

注:IDS不为空,也不ids.userID为空,但EM越来越nUserID =“”
有什么办法到C#字符串转换为JavaScript字符串?分配C#字符串JavaScript变量

+1

你不应该认为这是 “一个C#字符串转换为JavaScript字符串”。这样的事情是没有意义的..在这个场景中,两个人不会互动,在这个场景中,页面被渲染。你的C#只是被解释和结果转储到HTML中。 – 2015-02-06 10:20:25

回答

3

对于写它直接页面上,你需要使用Response.Write作为

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

那旁边,如果你需要在最后;添加或放在里面的配额是由你。

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

+0

...或只是让它评价你:'var nUserID =“<%= ids.userID%>”' – 2015-02-06 10:22:34

+0

@SimonWhitehead但是,如果用户需要一些检查null? – Aristos 2015-02-06 10:24:00

+0

Touche - 我完全不理会那部分。我很抱歉。我仍然会使用'<%= %>',但是在方法中包含NullRef检查:) – 2015-02-06 10:25:45

0
var nUserID = '<%=((ids != null) ? ids.userID.ToString() : "0")%>'; 
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'); 
0

使用这样的:

<script type="text/javascript"> 

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

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

} 

    </script>