1

我正在使用 jQuery 和 ASP.net

我有一个用户控件并想将此用户控件的值设置到数据库中,因为我需要用户控件的值。同样,我想在用户控件中显示数据库中的数据,因为我需要通过 jquery 获取值。

在我的用户控件中,我有 4 个文本框和 2 个按钮(设置/更新)

AutoCompleteSearch_New 是 ascx 用户控件

这是我尝试过的代码:

var ID = $('#<%= ((HiddenField)AutoCompleteSearch_New.FindControl("hdnvalue")).ClientID %>').val();

但我不想使用隐藏字段。

我可以不使用隐藏字段直接找到控件的值吗?

4

4 回答 4

1

它类似于使用网络表单中的价值。

这是相同的代码。

 Var TextBoxValue = $('#YourTextBoxID').val();

检查元素并获取文本框 ID 并将其替换为YourTextBoxID.

或者

Var TextBoxValue = $('#<%= YourTextBoxID.ClientID').val();

YourTextBoxID你的 asp:Textbox ID在哪里。

当您在 aspx 页面中加载用户控件时,jquery 会将其视为一个完整的页面,该页面由用户控件和表单中存在的其余 aspx 控件组合而成。所以你可以直接在你的 jquery 中获取文本框的值

于 2013-04-04T08:45:51.663 回答
0

您可以通过将 ClientIDMode="Static" 添加到控件来做到这一点

然后使用

var txtvalue=  $("#TextBoxId").val();
于 2013-04-04T08:51:34.750 回答
0

如果不能将值存储在 Session 中,我看到的其他选项是:

  • 用户控件标记中的 javascript 变量声明
  • 视图状态的客户端解密
  • html元素上的自定义数据属性

恐怕 HiddenField 是你最好的选择。这与 ViewState 背后的想法有些相同。

如果您不希望客户端篡改该值,则可以使用该值的组合,以及与密钥连接的值的哈希( value+separator+Hash(value+secretkey) )

如果您不希望客户端访问该值,则可以依靠在 HiddenField 中对其进行加密

于 2013-04-04T09:47:32.180 回答
-1

嘿,你可以直接找到文本框或隐藏字段的控件,而无需提及其类型

var value=$('AutoCompleteSearch_New_hdnvalue').val();

这里 AutoCompleteSearch_New 是您在页面上加载的用户控件的名称和

hdnvalue 是用户控件 AutoCompleteSearch_New 中隐藏字段的 id

请享用.. :-)

于 2014-05-25T08:01:31.820 回答