2015-12-07 2 views
0

Я разрабатываю свое приложение в MVC. Я использую один текст и кнопку. При нажатии кнопки мне нужно отправить электронное письмо и показать частичный вид.Как отобразить частичный вид при нажатии кнопки в MVC4?

Controller Код

public ActionResult BusinessUserRegister() 
     { 

      return View(); 

     } 
     [HttpPost] 
     public ActionResult BusinessUserRegister(string Emailid) 
     { 
      string userId = System.Configuration.ConfigurationManager.AppSettings["UserTypeId"]; 
      int typeid = Convert.ToInt32(userId); 

      EmailManager.SendConfirmationEmail(Emailid); 
      tbl_BusinessUser user = new tbl_BusinessUser(); 
      user.RandomNumber = (int)Session["rd"]; 
      user.EmailId = Emailid; 
      db.tbl_BusinessUser.Add(user); 
      db.SaveChanges(); 
      //return View(); 
      return PartialView("BusinessUserVerifyPartial"); 

     } 

Просмотр

@model SYTMain.Models.tbl_BusinessUser 

@{ 
    ViewBag.Title = "BusinessUserRegister"; 
} 

<h2>BusinessUserRegister</h2> 
@using (Html.BeginForm()) 
{ 

     <div class="sign2" style="height:267px;width:562px;margin-left:214px" id="emaildiv"> 
      @*@Html.TextBox("EmailId", "", new { @placeholder = "Enter the Email ", id = "txtemail" })<br /><br />*@ 
      <input type="text" name="Emailid" id="Email"/> 
      <input type="button" name="submit" value="Sign Up" id="Emailbtn" class="addbutton" /> 
     </div> 


    <div id=" Emailverify" > 


    </div> 


} 
@section Scripts{ 


    <script type="text/javascript"> 
     $("#Emailbtn").click(function() { 
      debugger; 
      var url = '@Url.Action("BusinessUserRegister", "BU")'; 

      $.post(url, { Emailid: $('#Email').val() }, function (data) { 
       // alert(data); 

       $("#Emailverify").html(data); 
      }); 


     }) 

    </script> 

} 

Частичный вид

<div id="EmailVerify"> 
     <div class="sign3" style="height:267px;width:562px;margin-left:214px" id="verfieddiv"> 
      @Html.TextBox("verify", "", new { @placeholder = "Enter the Random Number", id = "txtverified" })<br /><br /> 
      <input type="submit" name="Verify" value="Verify" id="vbtn" /> 
     </div> 
    </div> 

Моя проблема Частичный вид не отображается на нажатие кнопки.

При нажатии кнопки электронная почта отправляется соответствующему пользователю и отображается одна и та же страница, частичный вид не загружается.

+0

Вы скрыли его, используя '$ (" # Emailverify "). –

+0

Я удалил это, но мое частичное представление не отображается. – Nisha

+0

Что делать, если какие-либо ошибки вы получаете в консоли браузера. И его трудно понять, что вы думаете, что вы пытаетесь сделать с этим кодом. Если он работает, все, что вы добавляете, - это текстовое поле и кнопка отправки, и когда вы нажимаете кнопку отправки, вы вызываете точно такой же метод, но вы не используете значение текстового поля 'verify'. –

ответ

0

Для начала удалите пробел перед «EmailVerify»

<div id=" Emailverify" > 

И почему вы используете Html.BeginForm(), если вы используете JQuery код для отправки и получения данных с сервера? Вероятно, вы хотели использовать type = "submit" вместо name = "submit". Нажатие кнопки подтверждения отправит форму в действие BusinessUserRegister и в результате обновит всю вашу страницу и начнется с начала. Мой совет - удалить Html.BeginForm() и пробел.