2016-11-11 2 views
-1

Dies ist der Code für die RadioButton ist die ich verwendet habe:MVC Radiobutton passieren immer Falsch-Wert

@Html.RadioButtonFor(model => model.A, new { @class = "radio-inline", @checked = "checked", id = "A" }, "Indicator") 
@Html.Label("Active") 
@Html.RadioButtonFor(model => model.A, new { @class = "radio-inline", @checked = "checked", id = "B" }, "Indicator") 
@Html.Label("InActive") 

This Is Modal

private bool a; 
public bool A 
{ 
    get 
    { 
     return a; 
    }  
    set 
    { 
     a= value; 
    } 
} 
+1

Was ist Ihr Modell zu sein? Und du hast den Radiobuttons keinen Wert gegeben, so dass sie nichts posten (und dir den HTML Code anschauen) –

+0

in beiden Fällen verwendest du model => model.A –

+0

habe einen Fehler mit id bekommen :( –

Antwort

2

Der zweite Parameter von RadioButtonFor() der Wert ist, und die dritte wird der htmlAttributes so wird Sie Code

<input length="9" id="A" name="A" type="radio" value="{ class = radio-inline, checked = checked, id = A }" /> 

dieErzeugenAttribut muss true oder false sein, um an eine bool zu binden (und beachten Sie das ungültige length="9" Attribut ist, weil es 9 Zeichen in "Indikator" gibt).

Versuchen Sie außerdem nicht, das Attribut checked festzulegen - die Methode legt das anhand des Werts der Eigenschaft richtig fest. Und Sie erstellen ein <label> Element, das keine Beziehung zu den Schaltflächen hat (durch Klicken darauf wird der Fokus gesetzt).

braucht Ihr Code

<label> 
    @Html.RadioButtonFor(model => model.A, true, new { @class = "radio-inline", id="" }) 
    <span>Active</span> 
</label> 
<label> 
    @Html.RadioButtonFor(model => model.A, false, new { @class = "radio-inline", id="" }) 
    <span>InActive</span> 
</label> 

Sie können auch vereinfachen Ihr Modell zu verwenden, nur

public bool A { get; set; }