如何 Post .NET 中的单选按钮
How to Post a Radiobutton in .NET
我正在尝试使用以下代码 Post 来自单选按钮的值。
@using (Html.BeginForm("RdButton", "Search", FormMethod.Post))
{
<span style="white-space:nowrap;">
<input type="radio" id="HomeShow" name="HomeShow" value="AssemblyDrawings" checked/> Assembly Drawings
<input type="radio" id="HomeShow" name="HomeShow" value="RelatedLiterature"/> Related Literature
<input type="radio" id="HomeShow" name="HomeShow" value="StockParts"> List of stock parts
</span>
}
具有基本的 Post 形式
[HttpPost]
public ActionResult RdButton(string HomeShow = "")
{
string rdValue = HomeShow;
return View(rdValue);
}
如何引用 html 中的值?提前致谢
编辑:
将表格更改为
@using (Html.BeginForm("RdButton", "Search", FormMethod.Post))
{
<span style="white-space:nowrap;">
@Html.RadioButtonFor(x => x.Show, "Assembly")
@Html.RadioButtonFor(x => x.Show, "Literature")
@Html.RadioButtonFor(x => x.Show, "Parts")
</span>
}
// would this work???
string rdobtn = String.Format("{0}", Request.Form["RdButton"]);
if (rdobtn == "")
{
@Html.Partial("_gotopage");
}
要post单选按钮变化时的表单,您需要一些javascript代码。以下是如何使用 jQuery:
$('input[type=radio]').on('change', function() {
$(this).closest("form").submit();
});
这段代码将提交单选按钮所在的表单。
如果我是你,我会创建一个模型并将该模型传递到我的视图并为其创建单选按钮。像这样:
public class HomeShowModel
{
public string SelectedHomeShow { get; set; }
// Other properties you may need
}
然后在您的视图中,您可以使用 html 助手为您创建单选按钮组:
@Html.RadioButtonFor(m=>m.SelectedHomeShow ,"AssemblyDrawings")
@Html.RadioButtonFor(m => m.SelectedHomeShow , "RelatedLiterature")
@Html.RadioButtonFor(m => m.SelectedHomeShow , "StockParts")
控制器将接收所选的值。
// would this work???
string rdobtn = String.Format("{0}", Request.Form["RdButton"]);
像这样使用模型:
if (Model.SelectedHomeShow == "StockParts") { // code... }
但请记住将模型传递给您的视图并确保 SelectedHomeShow
属性 已设置。更好的方法是使其读起来像业务规则,因此在您的模型中,您可以为该特定规则设置另一个 属性:
public class HomeShowModel
{
public string SelectedHomeShow { get; set; }
// Other properties you may need
// Name this property something meaningful
public bool NeedsPartial
{
return this.SelectedHomeShow == "StockParts";
}
}
我正在尝试使用以下代码 Post 来自单选按钮的值。
@using (Html.BeginForm("RdButton", "Search", FormMethod.Post))
{
<span style="white-space:nowrap;">
<input type="radio" id="HomeShow" name="HomeShow" value="AssemblyDrawings" checked/> Assembly Drawings
<input type="radio" id="HomeShow" name="HomeShow" value="RelatedLiterature"/> Related Literature
<input type="radio" id="HomeShow" name="HomeShow" value="StockParts"> List of stock parts
</span>
}
具有基本的 Post 形式
[HttpPost]
public ActionResult RdButton(string HomeShow = "")
{
string rdValue = HomeShow;
return View(rdValue);
}
如何引用 html 中的值?提前致谢
编辑: 将表格更改为
@using (Html.BeginForm("RdButton", "Search", FormMethod.Post))
{
<span style="white-space:nowrap;">
@Html.RadioButtonFor(x => x.Show, "Assembly")
@Html.RadioButtonFor(x => x.Show, "Literature")
@Html.RadioButtonFor(x => x.Show, "Parts")
</span>
}
// would this work???
string rdobtn = String.Format("{0}", Request.Form["RdButton"]);
if (rdobtn == "")
{
@Html.Partial("_gotopage");
}
要post单选按钮变化时的表单,您需要一些javascript代码。以下是如何使用 jQuery:
$('input[type=radio]').on('change', function() {
$(this).closest("form").submit();
});
这段代码将提交单选按钮所在的表单。
如果我是你,我会创建一个模型并将该模型传递到我的视图并为其创建单选按钮。像这样:
public class HomeShowModel
{
public string SelectedHomeShow { get; set; }
// Other properties you may need
}
然后在您的视图中,您可以使用 html 助手为您创建单选按钮组:
@Html.RadioButtonFor(m=>m.SelectedHomeShow ,"AssemblyDrawings")
@Html.RadioButtonFor(m => m.SelectedHomeShow , "RelatedLiterature")
@Html.RadioButtonFor(m => m.SelectedHomeShow , "StockParts")
控制器将接收所选的值。
// would this work???
string rdobtn = String.Format("{0}", Request.Form["RdButton"]);
像这样使用模型:
if (Model.SelectedHomeShow == "StockParts") { // code... }
但请记住将模型传递给您的视图并确保 SelectedHomeShow
属性 已设置。更好的方法是使其读起来像业务规则,因此在您的模型中,您可以为该特定规则设置另一个 属性:
public class HomeShowModel
{
public string SelectedHomeShow { get; set; }
// Other properties you may need
// Name this property something meaningful
public bool NeedsPartial
{
return this.SelectedHomeShow == "StockParts";
}
}