我想将一些用户输入存储到客户端的 cookie 中。使用 MVC3/Razor。数据输入到多个 DropDownList 中。以下示例:
<div style="float: left;">
@Html.Telerik().DropDownList()
.Name("name").BindTo((SelectList)@ViewBag.Filter1SelectList)
.Placeholder("All")
.ClientEvents(events => events
.OnChange("onChangeFilter1"))
</div>
我创建了以下 JavaScript 来尝试在下拉值更改时存储值。
function onChangeFilter1(e) {
var filter1 = document.getElementById('name').value;
'<%= ViewData["Filter1Value"]%>' = filter1.toString();
}
这个想法是从多个下拉列表中收集多个过滤器。数据通过提交按钮进行过滤。这可能吗?我只看到一个例子,仔细复制了一下,却出现了上面的错误: Microsoft JScript Runtime Error: Cannot allocate to '[string]'.
尝试在ViewData之前添加@符号,它将允许您将过滤器值分配给ViewData
@ViewData["Filter1Value"] = filter1.toString();