2017-01-12 41 views
0

我試圖用下面的代碼發佈單選按鈕的值。如何在.NET中發佈Radiobutton

@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> 
} 

隨着後期基本形式

[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"); 
    } 
+0

你需要添加你的表單內提交按鈕 – Stormhashe

+0

我可以當單選按鈕更改時提交表單? – Niescier19

+0

當然,但你需要JavaScript來自動提交它,如果這就是你要找的。嘗試搜索「用javascript提交表單」 – Stormhashe

回答

0

要發佈表單時,單選按鈕的變化,你需要一些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") 

的控制器將接收被選擇的值。

//將此工作?

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"; 
    } 
} 
+0

我如何測試我的html中的單選按鈕的值? – Niescier19

+0

你是什麼意思測試我的html中的值? – CodingYoshi

+0

'if(Model.SelectedHomeShow ==「Assembly」){do stuff}' – Niescier19