在ASP.net MVC5 View中,我想检查用户是否已登录,以便我可以将用户名分配给控件,或者只是“Guest”(如果他没有登录)。
问题是我无法设置值,因为我总是有错误 - “错误CS1061'MvcHtmlString'不包含'val'的定义,也没有扩展方法'val'接受第一个参数可以找到类型'MvcHtmlString'(您是否缺少using指令或程序集引用?)“
Te Script在下面。
如何正确访问控件,设置值还是将其设置为只读?
提前致谢!
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript">
$(document).ready(function () {
@{var usr = System.Web.HttpContext.Current.User.Identity.Name;
if (@User.Identity.Name != "")
{
usr = User.Identity.Name;
}
else
{
usr = "Guest";
}
}
@Html.IdFor(model => model.UserCri).val(usr);
@Html.IdFor(model => model.UserCri).attr("readonly", "readonly");
</script>
}
答案 0 :(得分:0)
您需要将Html Helper与jQuery代码混合使用。
<script type="text/javascript">
$(function(){
var usr = '@(User.Identity.IsAuthenticated ? User.Identity.Name : "Guest")';
$('#@Html.IdFor(model => model.UserCri)').val(usr);
});
</script>