我有一个asp.net core mvc项目。
在我的布局文件中,我想要显示当前登录用户的名称,这样用户名就会显示在标题中。对于这个,我希望能够在我的home控制器中调用一个做这个的函数。因此,我在home控制器中创建了一个像这样的简单函数:
public String GetLoggedInuser()
{
return "garse garsebro";
}
然后我尝试了所有我能找到的方法。这里的前两个方法只是网络上建议的函数,我根本无法使用:
@HtmlHelper.Action("GetLoggedInuser");
@Html.RenderAction("GetLoggedInuser");
等等。然后是这个,我可以找到:
@Html.ActionLink("GetLoggedInuser")
但是对于这个,我的函数"GetLoggedInuser"到处都找不到
你如何在一个razor页面中调用一个控制器函数,你可以从该函数返回一个字符串并显示它?
如果您使用Microsoft.AspNet.Identity线以下将做这项工作后登录。
@Html.ActionLink("Hello " + User.Identity.GetUserName() + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })
您可以尝试使用ajax调用action来获取用户名,并将其添加到html:
<div id="username">
</div>
@section scripts
{
<script>
$(function () {
$.ajax({
type: "GET",
url: 'GetLoggedInuser',
}).done(function (result) {
$("#username").html(result);
});
})
</script>
}