我有一個臨時數據,我想要在JavaScript中接收,然後將其分配給選定的選項卡?我會怎麼做?在JavaScript中檢索控制器值
var langid ="<% Tempdata["something"] %>";
$('#tabs').tabs('select', 'tabs' - langid);
我有一個臨時數據,我想要在JavaScript中接收,然後將其分配給選定的選項卡?我會怎麼做?在JavaScript中檢索控制器值
var langid ="<% Tempdata["something"] %>";
$('#tabs').tabs('select', 'tabs' - langid);
一般TempData
是你會用什麼來傳遞消息控制器之間,所以在你的情況下,ViewData
是更好的選擇,儘管使用強類型模型的屬性被認爲是更好的做法。儘管事實上,這將工作:
var langid ="<%= ViewData["something"] %>";
$('#tabs').tabs('select', 'tabs' - langid);
直列JavaScript
在你看來是不是一個好的做法無論是。如果您稍後想要將此代碼提取到單獨的js文件中,它將會中斷。我建議創建一個隱藏字段來存儲HTML中的值,並用jQuery讀取它。
在你看來:
<input type="hidden" id="yourLangId" value="<%= ViewData["something"] %>" />
在您的JS:
var langid = $("#yourLangId").val();
$('#tabs').tabs('select', 'tabs' - langid);
我認爲問題是你缺少一個右括號。
var langid = <%: Tempdata["something"] %>;
$('#tabs').tabs('select', 'tabs' - langid);
我不確定設置標籤文本的語法是什麼。
另一個要注意的是在第二線
var langid = <%: Tempdata["something"] %>;
$('#tabs').tabs('select', 'tabs-' + langid);
<script>
alert('<%=TempData["something"] %>');
alert('<%=ViewData["someelse"]%>');
</script>
BTW TempData的使用會話,那麼可能是你想堅持的ViewData
其他那麼明顯的語法錯誤,這應該工作。什麼是錯誤? – 2010-08-20 07:03:26
沒有我的基本問題是關於這種方法,因爲沒有什麼是在tempdata。 – maztt 2010-08-20 07:26:34
我明白了,對不起。我會用你正在使用的方法。可能在模型上有價值,所以我不必使用「魔術串」,但這取決於情況。 – 2010-08-20 07:34:18