Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从asp.net mvc中的帐户控制器登录页调用Manage controller GET方法_C#_Jquery_Ajax_Asp.net Mvc - Fatal编程技术网

C# 从asp.net mvc中的帐户控制器登录页调用Manage controller GET方法

C# 从asp.net mvc中的帐户控制器登录页调用Manage controller GET方法,c#,jquery,ajax,asp.net-mvc,C#,Jquery,Ajax,Asp.net Mvc,要从帐户控制器登录页面调用管理控制器中的AddPhoneNumber方法。我在登录页面中有一个复选框,我已经为OTP实现了这个复选框 我想要的是,当选中复选框时,它应该调用managecontroller中的AddPhoneNumberGET方法来打开页面 管理控制器 // GET: /Manage/AddPhoneNumber public ActionResult AddPhoneNumber() { return View();

要从帐户控制器登录页面调用管理控制器中的
AddPhoneNumber
方法。我在登录页面中有一个复选框,我已经为OTP实现了这个复选框

我想要的是,当选中复选框时,它应该调用managecontroller中的
AddPhoneNumber
GET方法来打开页面

管理控制器

 // GET: /Manage/AddPhoneNumber
        public ActionResult AddPhoneNumber()
        {
            return View();
        }
添加电话号码页

@model Aayumitra.Models.AddPhoneNumberViewModel

        @using (Html.BeginForm("AddPhoneNumber", "Manage", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
        {
            @Html.AntiForgeryToken()
            <h4>Add a phone number</h4>
            <hr />
            @Html.ValidationSummary("", new { @class = "text-danger" })
            <div class="form-group">
                @Html.LabelFor(m => m.Number, new { @class = "col-md-5 control-label" })
                <div class="col-md-7">
                    @Html.TextBoxFor(m => m.Number, new { @class = "form-control" })
                </div>
            </div>
            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" class="btn btn-primary" value="Send verification code" />
                </div>
            </div>
        }
@model Aayumitra.Models.AddPhoneNumberViewModel
@使用(Html.BeginForm(“AddPhoneNumber”,“Manage”,FormMethod.Post,new{@class=“form horizontal”,role=“form”}))
{
@Html.AntiForgeryToken()
添加电话号码

@Html.ValidationSummary(“,new{@class=“text danger”}) @LabelFor(m=>m.Number,新的{@class=“col-md-5控制标签”}) @TextBoxFor(m=>m.Number,新的{@class=“form control”}) }
登录页面

@using Aayumitra.Models
@model LoginViewModel

 @using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
    {
        @Html.AntiForgeryToken()

                <div class="form-group">
                    <label for="email">Mobile Number / Email ID</label>

                    @Html.TextBoxFor(m => m.Email, new { @class = "form-control form-control-sm", placeholder = "Mobile Number / Email ID" })
                    @Html.ValidationMessageFor(m => m.Email, "", new { @class = "text-danger" })
                </div>
                <div class="form-group">
                    <label for="password">Password</label>
                    @Html.PasswordFor(m => m.Password, new { @class = "form-control form-control-sm password-input", placeholder = "Password" })
                    @Html.ValidationMessageFor(m => m.Password, "", new { @class = "text-danger" })
                </div>
                <div class="form-group">
                     <input type="checkbox" name="remember-password" id="remember-pass-check" onclick="triggerLink()">
                    <label for="">Login with OTP instead of password</label>
                </div>
    }

function triggerLink() {
        debugger;
        var theUrl ='@Url.Action("AddPhoneNumber","Manage", Model)';
    }
@使用Aayumitra.Models
@模型LoginView模型
@使用(Html.BeginForm(“Login”,“Account”,new{ReturnUrl=ViewBag.ReturnUrl},FormMethod.Post,new{@class=“form horizontal”,role=“form”}))
{
@Html.AntiForgeryToken()
手机号码/电子邮件ID
@Html.TextBoxFor(m=>m.Email,新的{@class=“formcontrol form control sm”,placeholder=“Mobile Number/Email ID”})
@Html.ValidationMessageFor(m=>m.Email,“,new{@class=“text danger”})
密码
@Html.PasswordFor(m=>m.Password,新的{@class=“form control form control sm Password input”,placeholder=“Password”})
@Html.ValidationMessageFor(m=>m.Password,“,new{@class=“text danger”})
使用OTP而不是密码登录
}
函数triggerLink(){
调试器;
var theUrl='@Url.Action(“AddPhoneNumber”,“Manage”,Model)”;
}
请参见:

triggerLink()
方法中,类似于:

<script type="text/javascript">
  function triggerLink() {
      debugger;
      var theUrl ='@Url.Action("AddPhoneNumber","Manage")';
      window.location.href = theUrl;
  }
</script>

函数triggerLink(){
调试器;
var theUrl='@Url.Action(“AddPhoneNumber”,“Manage”);
window.location.href=URL;
}
另外,不要认为您需要传递模型,因为您的控制器操作看起来不像它期望的那样…

请参阅:

triggerLink()
方法中,类似于:

<script type="text/javascript">
  function triggerLink() {
      debugger;
      var theUrl ='@Url.Action("AddPhoneNumber","Manage")';
      window.location.href = theUrl;
  }
</script>

函数triggerLink(){
调试器;
var theUrl='@Url.Action(“AddPhoneNumber”,“Manage”);
window.location.href=URL;
}

另外,不要认为您需要传递模型,因为您的控制器操作看起来不像它期望的那样…

它不起作用。当它调用时,它使用这个URL
http://localhost:49812/Account/Login?ReturnUrl=%2FManage%2FAddPhoneNumber
。并且页面不会显示。Hmmm。不知道你有什么不同。我刚刚重新创建了您的代码,它进行了以下更改:将javascript包装在标记中;我没有你的模型,所以我没有通过模型。更新了我的回复以反映这些变化。当我查看源代码时,
URL
变量为“/Manage/AddPhoneNumber”(如预期),重定向按预期触发。Hi Jonathan,我已经使用
个人用户帐户创建了我的应用程序,我可以使用默认创建的登录和注册页面。如果我们在登录页面中放入复选框,并在登录页面中写入JQeury逻辑,那么它不会调用
Manage
controller下的
AddPhoneNumber
。但奇怪的是,如果我创建了
无身份验证
应用程序并执行了相同的操作,那么它就可以工作了。请告诉我为什么行为不同。当您在登录页面上查看源代码时,URL的javascript值是多少?它给了我
/Manage/AddPhoneNumber
。但它看起来像
http://localhost:49812/Account/Login?ReturnUrl=%2FManage%2FAddPhoneNumber
在url中。它不起作用。当它调用时,它使用这个URL
http://localhost:49812/Account/Login?ReturnUrl=%2FManage%2FAddPhoneNumber
。并且页面不会显示。Hmmm。不知道你有什么不同。我刚刚重新创建了您的代码,它进行了以下更改:将javascript包装在标记中;我没有你的模型,所以我没有通过模型。更新了我的回复以反映这些变化。当我查看源代码时,
URL
变量为“/Manage/AddPhoneNumber”(如预期),重定向按预期触发。Hi Jonathan,我已经使用
个人用户帐户创建了我的应用程序,我可以使用默认创建的登录和注册页面。如果我们在登录页面中放入复选框,并在登录页面中写入JQeury逻辑,那么它不会调用
Manage
controller下的
AddPhoneNumber
。但奇怪的是,如果我创建了
无身份验证
应用程序并执行了相同的操作,那么它就可以工作了。请告诉我为什么行为不同。当您在登录页面上查看源代码时,URL的javascript值是多少?它给了我
/Manage/AddPhoneNumber
。但它看起来像
http://localhost:49812/Account/Login?ReturnUrl=%2FManage%2FAddPhoneNumber
在url中。