我尝试将Onclientclick保存到我的hiddenfield一个字符串值,但由于Server.Transfer();它无法正常工作;
在我只有一个回发控件(Dropdownlist)中,如果我更改下拉值,我会在我的代码中最后得到Server.Transfer。
以下是代码:
$(document).ready(function () {
alert($("[id*=hdnSelectedDiv]").val());
});
function SaveDiv(value) {
$("[id*=hdnSelectedDiv]").val(value);
}
<asp:LinkButton runat="server" CssClass="card-link" ID="lnkGoToLogin" OnClientClick="SaveDiv('dvLogin');return false;" meta:resourcekey="lnkGoToLoginRes"></asp:LinkButton></p>
这是我的OnSelectedIndexChanged:
CurrentSession.SetCurrentLanguage(ddl.SelectedValue);
ddl.SelectedValue = CurrentSession.CurrentLanguage.IetfLanguageTag;
Thread.CurrentThread.CurrentCulture = new CultureInfo(ddl.SelectedValue);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(ddl.SelectedValue);
Server.Transfer(Request.Url.AbsolutePath);
在文档就绪警报上我的值总是空的。我尝试在我的文档上设置值并提醒它正在工作的值。但是如果我点击链接按钮并在回发后选择我的下拉列表中的任何选项是我的值为空。
我如何解决这个问题我不想使用Response.Redirect();
答案 0 :(得分:1)
该隐藏字段必须具有name
属性。
当回发发生时,在服务器代码中,是您可以检索发布值的时刻。这是处理它们的时间 - 因为在Server.Transfer
开始执行之后,源上下文消失了。如果在目标请求中需要这些值(处理程序转移到),则需要将它们传递给它。您的选择是:持久存储(例如数据库),会话(在您的情况下可能是最好的),查询。