我在viewBag中有一个用户ID我想访问对话框中的ViewBag
<script>
$(function () {
$("#dialog").dialog({
autoOpen: false,
modal: true,
width: 339,
overlay: {
backgroundColor: 'red',
opacity: 0.5
},
show: {
effect: "blind",
duration: 500
},
hide: {
effect: "explode",
duration: 700
}
});
});
function OpenDialog()
{
$('#dialog').dialog("open");
}
</script>
<div id="open" onclick="OpenDialog();">Click To Open</div>
@ViewBag.UserID
<div id="dialog">
<table>
<tr>
<td>User ID</td>
<td>@ViewBag.UserID</td>
</tr>
<tr>
<td>Comments</td>
<td>@Html.TextArea("CommentsTextBox")</td>
</tr>
</table>
<div class="alignCenter">
<input type="submit" value="Add" />
<input type="button" value="Cancel" />
</div>
</div>
答案 0 :(得分:2)
您的代码应该有效但可能是Jquery对话框更改div <div id="dialog">
的dom元素值
您可以尝试以下方法。
将UserId保留在隐藏字段中。
<input type="hidden" id="userId" value="@ViewBag.UserID" />
在<div id="dialog">
<div id="dialog">
<table>
<tr>
<td>User ID</td>
<td><span id="dialogUserId"></span></td>
</tr>
</table>
</div>
获取UserId并在OpenDialog()事件中指定表单占位符。
<script>
function OpenDialog()
{
$("#dialogUserId").val($("#userId").val()); //if this won't work try adding this line after dialog("open")
$('#dialog').dialog("open");
}
</script>
答案 1 :(得分:1)
如果您只想在jquery中访问模型变量或ViewBag,可以尝试以下方式。
<script type="text/javascript">
function set(value) {
return value;
}
alert(set(@Html.Raw(Json.Encode(Model.Message)))); // Message set from controller
alert(set(@Html.Raw(Json.Encode(ViewBag.UrMessage))));
</script>
由于
答案 2 :(得分:0)
做一件事将您的用户ID放在正常的javascript变量中,并将文档准备好的地方值放到Jquery