2013-03-20 47 views
0

我想將一些用戶輸入存儲到客戶端的cookie中。使用MVC3/Razor。數據輸入到幾個DropDownLists。下面一個的考試:將值分配給Razor中的ViewData

<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運行時錯誤:無法分配給'[string]'。

+0

看看這個http://stackoverflow.com/questions/6111232/can-you -assign-values-to-viewdata-from-the-client-using-mvc – Overmachine 2013-03-21 16:00:36

+0

@Overmachine嘗試了鏈接。似乎沒有工作。這是一個返回控制器,將濾鏡值保存在viewdata甚至模型中,但是我的頁面不會相應地進行過濾。似乎該模型已正確過濾,但來自JSON的頁面更新不起作用。一世 – 2013-03-25 16:35:39

回答

1

嘗試把@符號的ViewData之前,它可以讓你對過濾值賦給ViewData的

@ViewData["Filter1Value"] = filter1.toString();