1

我有一个带有下拉列表和许多 ASP.NET 文本框/标签的 ASP.NET Web 应用程序。当用户从下拉列表中选择特定项目时,标签会更改文本,其中一些会使用 jquery 隐藏等。但是,单击按钮后,控件将更改回页面首次加载时的状态。

请建议

  1. 我如何保留新标签名称等?
  2. 我是否应该将我为更改事件的下拉列表编写的相同 jquery 代码也放在文档加载事件中?
  3. 我应该使用隐藏字段来存储值吗?
4

2 回答 2

0

1:如何保留新标签名称等?

是的,

您可以使用隐藏字段来存储。

2:我是否应该将我为更改事件的下拉列表编写的相同 jquery 代码也放在文档加载事件中?

不,

在 page_load 访问隐藏字段,提取和使用值。

3:我应该使用隐藏字段来存储值吗?

是的,

您可以使用隐藏字段来存储您在使用 jQuery 的 GUI 控件中所做的更改。通过使其运行在服务器上,使该隐藏字段服务器可访问。在服务器端,当您获得回发访问隐藏字段时,提取并将值分配给相应的控件。你可以在这篇文章中看到它是如何工作的。

于 2013-03-28T09:01:09.573 回答
0

您可能知道,如果是提交类型,单击按钮后,它将回发到服务器,因为 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)使用隐藏字段是可以的,因为隐藏字段将满足您在服务器端使用的要求,因为它们也会被回发。

于 2013-03-28T10:30:53.457 回答