MVC RadioButton для вызова Gen jQueryMobile Совместимый HTML - PullRequest
1 голос
/ 23 февраля 2012

Я работаю в .NET, VB Razor MVC4 с JQueryMobile.

Моя проблема заключается в попытке заставить @ Html.RadioButtonFor сгенерировать правильно отформатированный HTML-код для загрузки JQuery Mobile.

Этот код:

@For Each fqi In Model.Options
@<label for="@fqi.Id">@fqi.Text</label>
@<input type="radio" name="@fqi.Name" id="@fqi.Id" value="@fqi.Value" checked="@fqi.Checked"/>          
Next

Формирует:

<div class="ui-radio">
<label class="ui-btn ui-radio-off ui-corner-left ui-btn-up-d" for="rb-yes_8e3b50fa-5d47-4d42-8c0c-dba8f840fedb" data-theme="d">
<span class="ui-btn-inner ui-corner-left">
<span class="ui-btn-text">Yes</span>
</span>
</label>
<input id="rb-yes_8e3b50fa-5d47-4d42-8c0c-dba8f840fedb" type="radio" checked="False" value="Yes" name="8e3b50fa-5d47-4d42-8c0c-dba8f840fedb">
</div>
<div class="ui-radio">
<label class="ui-btn ui-radio-off ui-corner-right ui-controlgroup-last ui-btn-up-d" for="rb-no_8e3b50fa-5d47-4d42-8c0c-dba8f840fedb" data-theme="d">
<span class="ui-btn-inner ui-corner-right ui-controlgroup-last">
<span class="ui-btn-text">No</span>
</span>
</label>
<input id="rb-no_8e3b50fa-5d47-4d42-8c0c-dba8f840fedb" type="radio" checked="False" value="No" name="8e3b50fa-5d47-4d42-8c0c-dba8f840fedb">
</div>

Но я не могу правильно понять этот код:

@For Each fqi In Model.Options
@Html.LabelFor(Function(m) m.CurrentValue, fqi.Text)
@Html.RadioButtonFor(Function(m) m.CurrentValue, New with {.value = fqi.Value,  .name=fqi.Name, .checked=fqi.Checked})
Next

Он отображается как:

<div class="ui-radio">
<div class="ui-radio">
<label class="ui-btn ui-radio-off ui-input-text ui-corner-left ui-btn-up-d" for="Questions_1__CurrentValue" data-theme="d">
<span class="ui-btn-inner ui-corner-left">
<span class="ui-btn-text">
<span class="ui-btn-inner">
</span>
</span>
</label>
<label class="ui-btn ui-radio-off ui-input-text ui-corner-right ui-controlgroup-last ui-btn-up-d" for="Questions_1__CurrentValue" data-theme="d">
<span class="ui-btn-inner">
<span class="ui-btn-text">
<span class="ui-btn-inner ui-corner-right ui-controlgroup-last">
</span>
</span>
</label>
<input id="Questions_1__CurrentValue" type="radio" value="{ value = No, name = 8e3b50fa-5d47-4d42-8c0c-dba8f840fedb, checked = False }" name="Questions[1].CurrentValue">
</div>
<input id="Questions_1__CurrentValue" type="radio" value="{ value = Yes, name = 8e3b50fa-5d47-4d42-8c0c-dba8f840fedb, checked = False }" name="Questions[1].CurrentValue">
</div>

screen shot of radio button issue

...