我有一个下拉列表,它是从GetJSON调用填充的,如下所示
查看
@{
var NoticeFilter =(X.Models.Y.Z.NoticesEntity) ViewData["NoticeFilter"];
}
<div class="form-group">
<label>Field Office</label>
<select data-bind="options: FieldOffice, value: selectedFieldOffice, optionsCaption:'Choose...', optionsValue:'FieldOfficeID', optionsText:'Name'">
@if(NoticeFilter!=null)
{
<option value="@NoticeFilter.FieldOfficeID" selected></option>
}
</select>
</div>
当我指向此页面并将数据发送到 NoticeFilter 时,我希望在其他值中使用 Noticefilter 中的值预先选择下拉值。我如何实现这个
我想知道razor HTML中是否有方法可以在从KO JS进行数据绑定后将默认值设置为Drop-Down
答案 0 :(得分:1)
你试过这个吗?
<script>
var str = @Html.Raw(Json.Encode(ViewData["Text"]));
</script>
答案 1 :(得分:0)
<强> WORKING 强> 经过几次尝试,我发现这是访问我的JS中的ViewData或ViewBag的一种方法
我使用了KO JS optionsAfterRender,如下所示
查看
<select data-bind="options: SubType, value: selectedSubType, optionsValue:'SubTypeID', optionsText:'SubTypeDescription',optionsAfterRender:function(){setOptionST(@Noticefilter .SubTypeID);}"></select>
<强> JS 强>
在视图模型中
self.setOptionST = function (x) {
//here we can do whatever is intended to in my case to set the initial value in dropdown
self.selectedSubType(x);
};