C# hiddenfield必须在每次单击时更改

C# hiddenfield必须在每次单击时更改,c#,javascript,asp.net,C#,Javascript,Asp.net,我是asp.net的新手,c#。 我有动态框(每个公司),它将在运行时创建。现在,每次单击框时,我的隐藏字段应提供受尊重的id。如果我单击该框,我可以从数据库中获取公司id,现在,如果公司id为5,我的隐藏字段应获得5,如果是7,我的隐藏字段应使用asp.net控件提供7.Am隐藏字段(必须在sql数据源中使用)。我只能在c#中控制asp.net的hiddenfield值。 如何在每次单击时使用javascript更改c#中的隐藏字段值 如何使用c#和javascript编码实现这一点?如果我正

我是asp.net的新手,c#。 我有动态框(每个公司),它将在运行时创建。现在,每次单击框时,我的隐藏字段应提供受尊重的id。如果我单击该框,我可以从数据库中获取公司id,现在,如果公司id为5,我的隐藏字段应获得5,如果是7,我的隐藏字段应使用asp.net控件提供7.Am隐藏字段(必须在sql数据源中使用)。我只能在c#中控制asp.net的hiddenfield值。 如何在每次单击时使用javascript更改c#中的隐藏字段值


如何使用c#和javascript编码实现这一点?如果我正确理解您的问题,请帮助我:

将文本框动态添加到页面时,请添加onclick事件处理程序

int id = 1; // You'd have access to this.
TextBox tb = new TextBox();
tb.Attributes.Add("onClick", string.Format("javascript:someFunction({0})", id));
// add other stuff.
form1.Controls.Add(tb);
然后使用javascript函数设置隐藏字段的值:

function someFunction(id) {
    var hiddenField = document.getElementById("hdnField");
    hiddenField.value = id;
}

请注意,我将隐藏字段的clientIdMode设置为Static,将id设置为“hdnField”。如果您没有设置clientIdMode(在.Net 4之前)的选项,则必须(在我的脑海中)你可能还想检查一个你一定要通过的JavaScript。

为什么隐藏的值需要改变?你用它做什么?如果你把隐藏的ID用作你数据库中的下一个ID,你应该考虑在DB端自动生成IDS。AM显示弹出窗口。(使用repeators、sqldatasource显示数据库值)基于隐藏字段的值。如果隐藏字段的值为5,我可以获得id为5的db值。我作为隐藏字段给出。