我在Inside of Razor视图中有一个方法。
<div style="height: 50px; padding-left: 10%; width: 100%">
<b style="font-family: Arial, Helvetica, sans-serif; font-weight: normal; font-size: xx-large">
@functions {
public string schoolname()
{
if (Request.IsAuthenticated && !User.IsInRole("SuperAdmin"))
{
string currentUserName = User.Identity.Name;
return GetHeaderSchoolName(currentUserName);
}
return string.Empty;
}
public string GetHeaderSchoolName(string userName)
{
Guid userId = SchoolBreifcase.Utilities.Common.GetUserId(userName);
SchoolBreifcase.Repositories.AdminRepository adminRepository = new SchoolBreifcase.Repositories.AdminRepository();
SchoolBreifcase.Models.Edmx.UserProfile userProfile = adminRepository.GetUserProfileByUserId(userId);
string CurrentSchoolName = userProfile.School.SchoolName;
return CurrentSchoolName + "xxx";
}
}
</div>
我在同一个剃刀视图里面有一个按钮。我在下面的按钮onclick事件(schoolname()
)中调用了该方法(onclick="schoolname()"
),请看下面
<div class="logoHeader" style="float: right; width: 15%; padding-top: 5%;">
**<button onclick="schoolname()"> xx</button>**
</div>
但是。它不起作用。我的方法没有调用。我不知道这个任务。你有什么想法吗?以及如何解决这个问题?
Updated:
我知道程序是控制器,动作结果,获取,发布,java脚本,jquery等等。我的问题是@functions
的用途是什么?在剃刀视图中。我知道它有助于在razor视图中编写服务器端代码。但我不能只在一个按钮点击事件中调用此方法。那有什么用呢?它仅用于页面加载时。
完成了我的自我:
请参阅下面的剃刀查看功能:
<div style="height: 50px; padding-left: 10%; width: 100%">
<b style="font-family: Arial, Helvetica, sans-serif; font-weight: normal; font-size: xx-large">
@functions {
public string schoolname()
{
if (Request.IsAuthenticated && !User.IsInRole("SuperAdmin"))
{
string currentUserName = User.Identity.Name;
return GetHeaderSchoolName(currentUserName);
}
return string.Empty;
}
public string GetHeaderSchoolName(string userName)
{
Guid userId = SchoolBreifcase.Utilities.Common.GetUserId(userName);
SchoolBreifcase.Repositories.AdminRepository adminRepository = new SchoolBreifcase.Repositories.AdminRepository();
SchoolBreifcase.Models.Edmx.UserProfile userProfile = adminRepository.GetUserProfileByUserId(userId);
string CurrentSchoolName = userProfile.School.SchoolName;
return CurrentSchoolName + "xxx";
}
}
</div>
我使用javascript:window.location.href="schoolname"
来调用我的函数。现在正在使用。
<div class="logoHeader" style="float: right; width: 15%; padding-top: 5%;">
**<button onclick='javascript:window.location.href="schoolname"'> xx</button>**
</div>
谢谢Guy's。
答案 0 :(得分:1)
你做错了我的朋友,因为Asp.net Mvc不像经典的Asp.net Web Forms。 我建议您查看this book以获取更多信息。 但是,要解决您的问题,您可以在CShtml中轻松完成此操作:
@{
var result = Request["YourButtonSpecialName"];
}
@if (result=="xx")
{
<div>
button clicked
</div>
}
<div class="logoHeader" style="float: right; width: 15%; padding-top:5%;">
<form action="YOUR CURRENT PATH">
<button type="submit" name="YourButtonSpecialName" value="xx"/>
</form>
</div>