-2

我有以下代码

  <input runat="server" id="Name" type="text" name="Name"/>


    cmd.parameters.addwithvalue("@NAME", Name.value);

我正在尝试捕获我在控件中输入的数据,并且(Name.value)始终等于“”,无论我输入什么。我知道它们被正确映射,就好像我将它切换到一个文本框它工作正常我希望这个输入也能正常工作。

已编辑这似乎可行,不确定这是否是正确的方法,但是有什么理由可以这样做,但 Name.value 不行吗?

cmd.Parameters.AddWithValue("@NAME", Request.Form["Name]);
4

3 回答 3

1

如果要在后面的代码中使用 html 元素,则必须添加runat=server属性。

<input runat="server" id="Name" type="text" name="Name" ClientIdMode="static"/>

设置ClientIdModetostatic应该允许您在后面的代码中使用与 html 中相同的 id,只是要小心不要产生冲突。

Name 将被转换为HtmlInputControl,并且当页面回发时,Name.Value将具有输入的值以及输入的文本。那么你可以这样做:

cmd.Parameters.AddWithValue("parameterename", Name.Value);
于 2013-08-13T18:31:28.607 回答
0

runat="server"是什么使东西可用于代码隐藏。

于 2013-08-13T18:32:23.003 回答
0

html 控件应该在表单标签内,并且您还需要添加runat="server"属性。然后你可以通过 id 访问它。

cmd.parameters.addwithvalue("parameterename", Name.Value);

请注意,如果输入 id 是Name您无法获取 Text 因为"name.text"您需要获取Value

于 2013-08-13T18:33:22.817 回答