代码隐藏中的输入控件类型文本引用

时间:2013-08-13 18:29:58

标签: c# asp.net html5

我有以下代码

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


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

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

EDITED 这似乎不能确定这是否是正确的方法,但这有什么原因,但Name.value不起作用?

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

3 个答案:

答案 0 :(得分:1)

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

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

ClientIdMode设置为static应该允许您在后面的代码中使用与html中相同的ID,只是注意不要创建冲突。

名称将被投射为HtmlInputControl,当页面回发时,Name.Value将具有输入的值与输入的文本。那么你可以这样做:

cmd.Parameters.AddWithValue("parameterename", Name.Value);

答案 1 :(得分:0)

runat="server"是代码隐藏的原因。

答案 2 :(得分:0)

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

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

请注意,如果输入ID为Name,则无法将文字设为"name.text",您需要获取Value