我有一个带有下拉列表和许多ASP.NET文本框/标签的ASP.NET Web应用程序。当用户从下拉列表中选择特定项时,标签会使用jquery更改文本,其中一些会被隐藏等。但是,在单击按钮后,控件将更改为首次加载页面时的状态。
请建议
答案 0 :(得分:0)
1:我如何保留新标签名称等?
是,强>
您可以使用隐藏字段进行存储。
2:我是否应该在on document load事件中为change事件中的dropdownlist编写相同的jquery代码?
否,强>
在page_load访问隐藏字段,提取和使用值。
3:我应该使用隐藏字段来存储值吗?
是的,
您可以使用隐藏字段来存储使用jQuery在GUI控件中所做的更改。通过使其成为runat服务器来访问隐藏的现场服务器。在服务器端,当您获得回发访问隐藏字段时,提取并为各个控件分配值。您可以在post中看到它的工作原理。
答案 1 :(得分:0)
正如您可能知道的那样,点击按钮后,如果它是提交类型,它将回发到服务器,因为HTTP是无状态的,您有责任再次生成标签文本和值。通常,ASP.NET viewstate会对输入文本进行操作,但对于标签,您必须自己完成。我可以建议像这样的解决方案
1)有一个javascript方法,它具有根据下拉列表的选定值更改标签和隐藏字段值的逻辑
function MyFunction ( ddlSelectedValue)
{
if(ddlSelectedValue == "1")
{
$("#LABELID").html('YOUR VALUE');
// rest other logics
}
}
2)ASP.NET viewstate将帮助您在按钮单击后保留下拉状态。所以在页面顶部添加这个jquery脚本
$(document).ready(function(){
var ddlSelectedValue = $("#DDLID").val();
MyFunction(ddlSelectedValue);
});
3)将点1方法附加到下拉列表的更改上。
4)使用隐藏字段是好的,因为隐藏字段将满足您在服务器端使用的要求,因为它们也将被回发。