调用不使用';不能从JavaScript返回任何内容

调用不使用';不能从JavaScript返回任何内容,javascript,c#,ajax,Javascript,C#,Ajax,考虑以下代码: 在我的.ascx中 <a id="1" onclick="registerLastViewed(this.id);">Example</a> <asp:HiddenField id="hdID" runat="server" /> <script type="text/javascript> function registerLastViewed(ID) { document.getElementById(

考虑以下代码:

在我的.ascx中

<a id="1" onclick="registerLastViewed(this.id);">Example</a>
<asp:HiddenField id="hdID" runat="server" />

<script type="text/javascript>
    function registerLastViewed(ID) {
        document.getElementById('<%= hdID.ClientID %>').value = ID;
        "<%= RegisterLastViewed() %>"; //dies here
    }
</script>
基本上,我计划做的是: 单击
将调用Javascript函数,该函数将从代码隐藏中调用我的C#函数

但每次我试图进入这一页,它就消失了。重定向循环和模具

有没有不使用
webmethod
的方法可以做到这一点

作为参考,这运行良好:

<script type="text/javascript">
var usr = "<%=getUserId() %>";
</script>

public string getUserId() {

    string userId = "";
    if (Session[PropertiesKey.SessionKeys.UserObjLoginUser] != null)
    {
        UserMaster loginUser = (UserMaster)Session[PropertiesKey.SessionKeys.UserObjLoginUser];
        userId = loginUser.UserID;
    }
    return userId;
}

var usr=“”;
公共字符串getUserId(){
字符串userId=“”;
if(会话[PropertiesKey.SessionKeys.UserObjLoginUser]!=null)
{
UserMaster loginUser=(UserMaster)会话[PropertiesKey.SessionKeys.UserObjLoginUser];
userId=logiuser.userId;
}
返回用户标识;
}

在页面加载过程中都会调用这两个函数。“有没有不使用
webmethod
的方法可以做到这一点?”因此您知道
webmethod
——为什么不使用它呢?C#是服务器上的进程,Javascript在客户端上运行。他们无法按照您期望的方式进行沟通
<script type="text/javascript">
var usr = "<%=getUserId() %>";
</script>

public string getUserId() {

    string userId = "";
    if (Session[PropertiesKey.SessionKeys.UserObjLoginUser] != null)
    {
        UserMaster loginUser = (UserMaster)Session[PropertiesKey.SessionKeys.UserObjLoginUser];
        userId = loginUser.UserID;
    }
    return userId;
}