gpt4 book ai didi

c# - 使用c#保持隐藏的输入框名称相同

转载 作者:太空宇宙 更新时间:2023-11-03 17:27:19 24 4
gpt4 key购买 nike

我正在尝试与支付网关集成。他们需要将一组隐藏的输入框发布到他们的网关,例如:

<input id="orderref" name="orderref" type="hidden" runat="server"/>

我添加了 runat="server",这样我就可以用值动态填充框。

但是,当然在运行时输入框名称会更改为:

<input name="ctl00$ContentPlaceHolder1$orderref" type="hidden" id="ContentPlaceHolder1_orderref" value="9" />

我遇到了麻烦 22。如果我删除 runat="server"就名称而言一切正常,但我无法用值填充输入框!有没有办法强制字段名称保持不变?

最佳答案

根据您使用的 .NET 版本,对此的控制有所不同:基本上,.NET4 之前的版本,您只能通过实现自己的更改容器前缀,但是来自 .NET4 你可以 omit the container prefixes使用 ClientIDMode .

或者,您可以公开方法,例如,在您的页面或母版页上,然后使用在呈现时评估的内联脚本 (<%=MyMethodReturningValue() %>) 调用它们。

编辑:

为了详细说明我的第二个建议,您可以在页面代码隐藏中定义一个方法,该方法可以通过使用 embedded code blocks 以内联方式执行。 ;引用的链接给出了这方面的简单示例,但这些方法不必在 <script> 中页面本身的 block (正如我之前提到的),以便您可以将逻辑分开,例如:

在页面的代码隐藏中定义一个方法:

public string RenderMessage()
{
return "This need not be a hard-coded string!";
}

写出你的input元素,省略 runat属性,并添加嵌入式代码块来代替值所在的位置(将其视为占位符);此代码块将在预渲染时调用指定的方法,并基本上被返回值替换:

<input id="orderref" name="orderref" type="hidden" value='<%=RenderMessage() %>'/>

关于c# - 使用c#保持隐藏的输入框名称相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7583335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com