简体   繁体   English

JavaScript中的Html.DropDownListFor

[英]Html.DropDownListFor in JavaScript

I render Html.DropDownListfor in my JavaScript and than when i go to browser to check how Output looks like and i can see there is extra double quotes. 我在我的JavaScript中渲染Html.DropDownListfor,然后我去浏览器检查Output的外观,然后看到有额外的双引号。
How can i archive this in better way?! 我怎样才能更好地存档? Thanks in advance :) 提前致谢 :)

Output is look like this: 输出如下所示:

<select class="&quot;form-control" border-input&quot;="" data-val="&quot;true&quot;" data-val-number="&quot;The" field="" selectedrmatype="" must="" be="" a="" number.&quot;="" id="&quot;SelectedRMAType&quot;" name="&quot;SelectedRMAType&quot;" style="&quot;background:none;&quot;"><option value="&quot;&quot;">- Vælg årsag -</option>
<option value="&quot;1&quot;">Forkert vare bestilt (fejlbestilling)</option>
<option value="&quot;2&quot;">Forkert vare modtaget (fejllevering)</option>
<option value="&quot;3&quot;">Modtaget for meget/lidt (fejllevering)</option>
<option value="&quot;4&quot;">Vare fysisk skadet ved modtagelse (transportskade)</option>
<option value="&quot;5&quot;">Vare virker ikke ved modtagelse (første dag)</option>
<option value="&quot;6&quot;">Defekt vare (efter første dag)</option>
<option value="&quot;7&quot;">Prisfejl</option>
<option value="&quot;8&quot;">Andet</option>
</select>  

DropDownlistfor: DropDownlistfor:

 @Html.DropDownListFor(s => s.SelectedRMAType, Model.RMAType, "- Select -", new { @class = "form-control border-input", @id = "SelectedRMAType", @style = "background:none;" })

DropDownListFor in JS: JS中的DropDownListFor:

 rows += '<td>' + '@Ajax.JavaScriptStringEncode(Html.DropDownListFor(s => s.SelectedRMAType, Model.RMAType, "- Select -", new { @class = "form-control border-input", @id = "SelectedRMAType", @style = "background:none;" }).ToHtmlString())' + '</td>'

Controller: 控制器:

public  ActionResult FindRMA(RMAHistory oodvm) {

    oodvm.RMAType = new SelectList(data.RMAType, "ID", "RMASager").ToList();

    return View(oodvm);
}

ViewModel: 视图模型:

public List<SelectListItem> RMAType { set; get; }
public int? SelectedRMAType { set; get; }

Try changing 尝试改变

@Ajax.JavaScriptStringEncode(...)

to

@Html.Raw(...)

你可以尝试一下吗?

@Html.DropDownListFor(m => m.RMAType).Select(i => new SelectListItem { Text = i.YourListValue(), Value = i.YourListKey() }))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM