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