我有MVC项目我在partial中有一个按钮,我想从其他视图绑定该按钮的click事件。部分负荷,我可以看到模态。但是,部分视图中存在的按钮上的click事件永远不会被调用。
我的部分观点:
<br />
<div align="center">
<input type="button" ID="BtnLogin" value="تسجيل الدخول" Class="GreenButtonStyle" />
</div>
我的观点:
<head>
<meta name="viewport" content="width=device-width" />
<title></title>
</head>
<body >
<div style="width:100%;height:100%;">
<br />
<div style="text-align: center; align-items: flex-start;">
<h3>تسجيل الدخول </h3>
</div>
<br />
<div align="center" vertical-align="middle">
@Html.Partial("_LoginUC")
</div>
</div>
我的控制器:
public ActionResult Login(AdminLoginClass user, string ReturnUrl = "")
{
string message = "";
string username = user.AdminUserName;
string Password = user.AdminPassWord;
{
DBModel.DBAdminLogin DB_Model = new DBModel.DBAdminLogin();
AdminLoginClass AdminLoginClass = DB_Model.Login(username, Password);
int ID = AdminLoginClass.AdminGroupID;
switch (ID)
{
default:
#region
{
return RedirectToAction("Index", "Home");
}
#endregion
}
ViewBag.Message = message;
return View(user);
}
ViewBag.Message = message;
return View();
}
这是我的JavaScript代码,我将其写在主视图中:
<script>
$(document).ready(function () {
$(".BtnLogin").on('click', function (event) {
debugger;
var requestedDataType = $(this).attr('data-value');
$.ajax(
{
type: "GET",
data: { requestedDataType: requestedDataType },
url: "Login/Login",
success: function (data) {
debugger;
$('#BtnLogin').html(data);
},
error: function () {
alert('Error')
}
}
);
}
);
});
答案 0 :(得分:0)
问题在于选择器。
选择器定义为$(".BtnLogin")
,它是一个类选择器(阅读here)。
由于按钮ID为BtnLogin
,因此您应将选择器定义为$("#BtnLogin").on('click', function (event) {
。您可以阅读有关Id选择器here的信息。如果您希望选择器使用类,则将其定义为$(".GreenButtonStyle").on('click', function (event) {
JS的完整代码:
$(document).ready(function () {
$("#BtnLogin").on('click', function (event) {
debugger;
var requestedDataType = $(this).attr('data-value');
$.ajax(
{
type: "GET",
data: { requestedDataType: requestedDataType },
url: "Login/Login",
success: function (data) {
debugger;
$('#BtnLogin').html(data);
},
error: function () {
alert('Error')
}
}
);
}
);
});
答案 1 :(得分:0)
我被伪造添加
@using (@Html.BeginForm(null, "Login", FormMethod.Post))
{
@Html.AntiForgeryToken();
\\\\\\\ }
添加这2行
后可以正常工作