2017-01-12 6 views
0

Я пытаюсь опубликовать значение с помощью переключателя с приведенным ниже кодом.Как разместить Radiobutton в .NET

@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? Заранее спасибо

Edit: Измененная форма для

@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

Чтобы опубликовать форму, когда кнопка меняется радио, вам понадобится яваскрипт код. Вот как сделать это с помощью 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

Смежные вопросы