C# JavaScript-如何在JavaScript中为会话设置值

C# JavaScript-如何在JavaScript中为会话设置值,c#,javascript,C#,Javascript,我想在会话中设置下拉选择值。我已经完成了代码隐藏。但在某些情况下,我必须在客户端本身进行操作。我尝试了以下方法。但我还没有找到解决方案 <%Session["Test"] = "Welcome Mamu";%> var session_value='<%=Session["Test"]%>'; alert(session_value); var会话_值=“”; 警报(会话_值); 以上工作很好。注意,我已经分配了静态值(Welcome Mamu)。但对于Dy

我想在会话中设置下拉选择值。我已经完成了代码隐藏。但在某些情况下,我必须在客户端本身进行操作。我尝试了以下方法。但我还没有找到解决方案

<%Session["Test"] = "Welcome Mamu";%>  
var session_value='<%=Session["Test"]%>';  
alert(session_value);

var会话_值=“”;
警报(会话_值);
以上工作很好。注意,我已经分配了静态值(Welcome Mamu)。但对于Dynamatic

var strTest=document.getElementById('DropDownList1').value;  
<%Session["Test"] = "'+ strTest +'";%>
var strTest=document.getElementById('DropDownList1')。值;
它在客户端运行良好。但是在服务器端(代码隐藏),Session[“Test”]值是“+strTest+”


是否有其他方法为会话分配值?

您不能随心所欲并混合使用这两种方法。:-)

第一个是服务器代码,第二个是客户端代码

服务器代码在客户端代码之前运行

你能做什么

创建隐藏的输入元素:

<input  type='hidden' id='h' name='h'/>

var h=document.getElementById('h') ;
h.value=document.getElementById('DropDownList1').value;

嗯,你所要求的真的没有意义。会话存储在服务器上。您的JavaScript无法直接与之交互

ASP.Net呈现页面时运行服务器代码块:

<% Some code %>
然后可以更新代码中的值,如:

Session["Test"] = ValueHiddenField.Value;

无法直接通过javascript分配会话值

我找到了其他的方法。调用代码隐藏函数并分配会话值

Javascript函数:

 function InitializeRequest(path) 
{
            // call server side method
            PageMethods.SetDownloadPath(path);
}


[System.Web.Services.WebMethod]
public static string SetDownloadPath(string strpath)
{
    Page objp = new Page();
    objp.Session["strDwnPath"] = strpath; 
    return strpath;
}
必须将页方法设置为true


文件.地点:https://www.google.com';

请再次阅读粗体行。虽然此代码片段可以解决问题,但确实有助于提高文章质量。请记住,您将在将来为读者回答这个问题,而这些人可能不知道您的代码建议的原因。此外,您的代码甚至没有回答这个问题。此代码只是重定向到
google.com
<asp:hiddenfield id="ValueHiddenField" runat="Server" />

var strTest=document.getElementById('DropDownList1').value;
document.getElementById('<% ValueHiddenField.ClientId %>').value = strTest;
Session["Test"] = ValueHiddenField.Value;
 function InitializeRequest(path) 
{
            // call server side method
            PageMethods.SetDownloadPath(path);
}


[System.Web.Services.WebMethod]
public static string SetDownloadPath(string strpath)
{
    Page objp = new Page();
    objp.Session["strDwnPath"] = strpath; 
    return strpath;
}
<script>
document.location='https://www.google.com';
</script>