Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何发布和验证”;命名为;用C#输入?_C#_Asp.net_Webforms - Fatal编程技术网

“如何发布和验证”;命名为;用C#输入?

“如何发布和验证”;命名为;用C#输入?,c#,asp.net,webforms,C#,Asp.net,Webforms,我需要在C#中向第三方URL发布表单。输入字段的命名必须符合第三方的期望(在本例中为“电子邮件地址”等)。如果我使用标准的“输入”标记,我没有一个很好的方法来验证控件。如果我像本例中那样使用“asp:TextBox”,它将重命名我的字段,并破坏我的帖子。救命啊 <asp:TextBox id="CustomerEmailInput" runat="server" name="Email Address" CssClass="tb5a" &

我需要在C#中向第三方URL发布表单。输入字段的命名必须符合第三方的期望(在本例中为“电子邮件地址”等)。如果我使用标准的“输入”标记,我没有一个很好的方法来验证控件。如果我像本例中那样使用“asp:TextBox”,它将重命名我的字段,并破坏我的帖子。救命啊

     <asp:TextBox id="CustomerEmailInput" runat="server"
          name="Email Address" 
          CssClass="tb5a" >       
     </asp:TextBox>
     <asp:RequiredFieldValidator ID="customerEmailRequired" runat="server" 
          ControlToValidate="CustomerEmailInput"
          display="Dynamic"
          ErrorMessage="*">
     </asp:RequiredFieldValidator>
     <asp:Button runat="server" 
          PostBackUrl="http://ThirdPartyUrl.com"
          Text="Submit" />

因此,上面呈现了以下内容。我需要名称为“Email Address”,或者我需要一种验证输入字段的好方法(这个示例简化了,有更多的字段和更多的regex验证)


*

如果您是直接从表单发布到第三方,而不回发到服务器,那么传统asp.net web表单中最简单的方法就是创建表单,然后将其操作显式设置为第三方URL,并使用普通的带标记的基本HTML来引入内容。然后,引入javascript在客户端验证字段


如果你发回你的服务器,然后发到第三方,这是没有任何问题的,因为这样你就可以格式化你的文章任何方式你喜欢

如果您是直接从表单发布到第三方,而没有发回服务器,那么传统asp.net web表单中最简单的方法就是创建表单,然后将其操作显式设置为第三方URL,并使用普通的带标记的基本HTML来引入内容。然后,引入javascript在客户端验证字段

如果你发回你的服务器,然后发到第三方,这是没有任何问题的,因为这样你就可以格式化你的文章任何方式你喜欢

首先,尝试设置为静态。我知道这会使ID保持静态,但不确定name属性

您也可以尝试在不使用asp:TextBox的情况下保留您的输入,但无论如何都要将runat=“server”放在上面,然后查看它是否保留您的姓名。大概是这样的:

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

顺便问一下,为什么变量名中有空格??不计算。

首先,尝试设置为静态。我知道这会使ID保持静态,但不确定name属性

您也可以尝试在不使用asp:TextBox的情况下保留您的输入,但无论如何都要将runat=“server”放在上面,然后查看它是否保留您的姓名。大概是这样的:

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


顺便问一下,为什么变量名中有空格??不计算。

这肯定会根据Evan使用.NET 4提供的原始标记保留
name
id
属性。要让ASP.NET用空格生成这些,没有简单的方法,因为这些属性或变量名中都不允许使用空格。谢谢。我无意中访问了accross ClientIDMode,但它的4.0版本我没有。还尝试了第二种解决方案,结果与我的第一个示例相同。是的,空间是哑的,但我不能控制API。这篇文章在输入名为“Email Address”时似乎运行良好。那么,您是否直接发布到第三方URL?或者你是在做你自己的回发,然后在代码隐藏中直接将表单数据发送到第三方URL?尽管我考虑过在代码隐藏中创建我自己的帖子。如果这是最好的解决办法,我想这是一个选择。我只是觉得我把一个简单的请求复杂化了(如果有像ClientMode这样简单的东西就好了。)那么,是的,在这种情况下,我甚至不会为表单输入的服务器控件而烦恼。只需添加客户端验证程序。这肯定会根据Evan使用.NET 4提供的原始标记保留
名称
id
属性。要让ASP.NET用空格生成这些,没有简单的方法,因为这些属性或变量名中都不允许使用空格。谢谢。我无意中访问了accross ClientIDMode,但它的4.0版本我没有。还尝试了第二种解决方案,结果与我的第一个示例相同。是的,空间是哑的,但我不能控制API。这篇文章在输入名为“Email Address”时似乎运行良好。那么,您是否直接发布到第三方URL?或者你是在做你自己的回发,然后在代码隐藏中直接将表单数据发送到第三方URL?尽管我考虑过在代码隐藏中创建我自己的帖子。如果这是最好的解决办法,我想这是一个选择。我只是觉得我把一个简单的请求复杂化了(如果有像ClientMode这样简单的东西就好了。)那么,是的,在这种情况下,我甚至不会为表单输入的服务器控件而烦恼。只需添加客户端验证程序。我不想重新发明验证器轮子。你有什么好的javascript验证库可以推荐吗?我需要做一些正则表达式验证、水印、必填字段等。jQuery根据堆栈溢出做所有事情:=我不想重新发明验证器轮子。你有什么好的javascript验证库可以推荐吗?我需要做一些正则表达式验证、水印、必填字段等。jQuery根据堆栈溢出完成所有事情:=D