好的,这对我来说很痛苦,因为是的,我在经典的ASP时代之后一直在编写ASP.NET代码。我已经失去了常规HTML控件的方式。
所以,这是我的情景。
1)我在页面上有一个radiobuttons列表,常规的旧HTML按钮:
<div id="selectOptions">
<form action="Checkout.aspx" method="post" target="_self">
<ul>
<li><label><input type="radio" name="rbRewardsSelectionGroup" id="rbtNoRewardOption" checked="checked" value="0" />None</label></li>
<li><label><input type="radio" name="rbRewardsSelectionGroup" value='1' />Free Shipping</label></li>
<li><label><input type="radio" name="rbRewardsSelectionGroup" value='2' />$100 Store Credit</label></li>
<li><label><input type="radio" name="rbRewardsSelectionGroup" value='3' />$250 Store Credit</label></li>
<li><label><input type="radio" name="rbRewardsSelectionGroup" value='4' />$500 Stored Credit</label></li>
</ul>
</form>
</div>
2)如果选择了这些单选按钮中的任何一个,我需要添加一些javascript来强制回发,即使是默认选择的单选按钮
3)我试图添加一个表单并将其包装在代码中。我不知道这是否有效,因为我认为ASP.NET不会让你在页面上有多个表单......或者这可能就是每个人的表现方式?
4)让我们说它会起作用。好的,我点击单选按钮。我向Checkout.aspx发送请求然后在代码隐藏中我可以获取该数据并执行Request [“rbRewardsSelectionGroup”]以获取对该radiobutton组的引用,然后执行我的服务器端值检查...无论我需要做的。
我想我的问题是我现在采用这种设置的方式正确吗?我相信我已经在使用基于ASP.NET的控件之外获得了整体概念,这些控件可以为您提供所有这些魔力。
我不想了解为什么我没有为这段特殊代码使用ASP.NET控件。
答案 0 :(得分:1)
2)使用jquery,在单选按钮上侦听更改事件并提交其父表单:
$("input[@name='rbRewardsSelectionGroup']").change(function(){
$(this).parents('form').submit();
});
3)在asp.net
中只能有一个带有runat =“server”属性的表单4)是的,使用Request.Form [“rbRewardsSelectiongroup”]来获取选择的值。