HTML/ASP.NET:<input type ="hidden"name ="reference"value ="ABC"/>

abr*_*pin 5 html asp.net user-input dynamic-data payment-processing

我只想问是否有可能改变:

<input type="hidden" name="reference" value="ABC"/>
Run Code Online (Sandbox Code Playgroud)

进入这个:

<input type="hidden" name="reference" value="any values I want"/>
Run Code Online (Sandbox Code Playgroud)

我可以在其中设置任何值.cs/C# - 动态制作它.我正在使用的支付网关需要,我找不到包含ASP.NET控件(?)的方法,我需要你的建议/意见.谢谢.

PS.<asp:HiddenField ID="reference" runat="server" Value="ABC" />因为支付网关特别需要'name'属性,所以无法正常工作.

小智 7

我知道这是一个旧帖子,但对于现在想要解决此问题的任何人 - 如果添加runat="server"到输入,名称将被更改(例如MainContentArea_ctl00_ctl01_ctl01_amount).ClientIdMode="Static"只会帮助身份证.为了解决这个问题:

在您的html页面中使用文字:

    <asp:Literal runat="server" ID="litInputAmount"></asp:Literal>
Run Code Online (Sandbox Code Playgroud)

在代码隐藏文件中,将字符串分配给Literal的Text属性.该字符串应该是您希望的html.还可以为值字段添加正确的值:

    litInputAmount.Text = String.Concat("<input id='inputAmount' type='hidden' name='amount' value='", Price.ToString(), "'>");
Run Code Online (Sandbox Code Playgroud)

然后将编译为:

    <input id="inputAmount" type="hidden" value="224.4" name="amount">
Run Code Online (Sandbox Code Playgroud)

这将使用正确的名称将信息提供给支付网关,但您的值可以动态管理.对发送前需要添加的任何其他值重复此操作.