将asp.net表单转换为html表单

3

我有一个ASP.NET WebForm。用户在文本框中输入数据,然后使用按钮进行OnClick="SubmitData"提交:

现在我想使用jQuery使我的表单看起来更好,但我不知道是否可以保留ASP.NET控件,还是必须转换为HTML控件。

问题 我需要转换吗?

<asp:TextBox ID="section_c_issue_error_identified_byTextBox"  width="500" runat="server" 
                    />

将其翻译为:变成这样:

<textarea name="comments" id="comments" rows="5" cols="60"></textarea>

如果可以的话,我该如何获取这些新的HTML文本框中的用户输入?

你能告诉我如何将这些值传递到我的C#代码中吗?

3个回答

5

您不需要进行任何转换,因为它会在客户端自动转换为HTML。

有几种方法可以获取文本框的值,例如:

如果以下是我的文本框:

   <asp:TextBox ID="txtCountry" Width="500" runat="server" CssClass="countryText" />

我可以使用,

$('#<%= txtCountry.ClientID%>').val()

$('.countryText').val()

2
无需进行任何转换,只需将属性clientID添加为static类型。
 ClientIDMode="Static"

需要说明的是,asp component不会更改ID名称。

<asp:TextBox ID="txtCountry" Width="500" runat="server" CssClass="countryText"  ClientIDMode="Static" />

$('#txtCountry').val();   

更正:$('#txtCountry').val(); 顺便说一下,虽然静态客户端模式是另一个选项,但我想它只应该在非常特殊的情况下使用,否则可能会使您的代码库过于受限。 - MSI
除非他不使用ASP.NET 4,否则请仅返回翻译文本。 - Ernesto

0

question do i need to convert

<asp:TextBox ID="section_c_issue_error_identified_byTextBox" 

width="500" runat="server" />

to something like this:

<textarea name="comments" id="comments" rows="5"

cols="60">

是的,你需要这样做。

使用JQuery捕获这些控件的输入,你需要这样做:

var elementValue = $('#elementid').val();

elementid 是您在标记中分配给元素的 ID。在上面的示例中,它将是“comments”。

elementValue 将包含您在文本区域中输入的文本。


非常感谢您愿意帮助我。您能告诉我如何将这些值传递到我的C#代码中吗?很抱歉,我是一个ASP.NET初学者。另外,我应该把变量elementvalue放在哪里? - Alex Gordon
你想使用jQuery并仍然通过服务器端代码提交和处理表单吗?如果是这样,你仍然可以添加标签runat="server",ASP.NET将允许你在服务器端“看到”这些控件。如果你只想使用jQuery或任何JavaScript代码来设置控件的样式,你不必改变控件,因为ASP.NET将生成HTML代码。在浏览器中查看页面源代码,你会看到所有的HTML。 - Ernesto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接