Asp.net mvc 4 基于按钮单击重新加载页面后显示div

Asp.net mvc 4 基于按钮单击重新加载页面后显示div,asp.net-mvc-4,Asp.net Mvc 4,我有两个Div。我试图在点击按钮时显示第二个Div,但第二个Div在表单发布值后立即消失。我想显示第二个DIV,直到我按下第二个DIV上的按钮 这里我的视图代码是: @using(Html.BeginForm()) { <div id="demail" name="demail"> <div class="sign2" style="height:267px;width:562px;margin-left:214px" id="emaild

我有两个Div。我试图在点击按钮时显示第二个Div,但第二个Div在表单发布值后立即消失。我想显示第二个DIV,直到我按下第二个DIV上的按钮

这里我的视图代码是:

@using(Html.BeginForm())
   { 
   <div id="demail" name="demail">
            <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 />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="submit" value="Sign Up" id="btn" onclick="add()" class="addbutton"/>
        </div>

    </div>
   }

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


 <script type="text/javascript">
     $("#btn").click(function () {
         debugger
         $("#dverify").show();
         $("#btn").hide();

     });

问题在于整页回发,视图被重新加载并处于其原始状态,脚本/客户端更改(在您的情况下单击按钮时显示/隐藏divs)不再存在。基于您的代码的快速修复方法是:

public ActionResult Randa(string Emailid, string submit, string submit1, int? Getran) 
        {
            string userId = System.Configuration.ConfigurationManager.AppSettings["UserTypeId"];
            int typeid = Convert.ToInt32(userId);

                 if (ModelState.IsValid)
                 {
                     if (submit != null && Emailid != null)
                          {
                                EmailManager.SendConfirmationEmail(Emailid);
                                tbl_BusinessUser b = new tbl_BusinessUser();
                                b.EmailId = Emailid;
                                b.RandomNumber = (int)Session["rnd"];
                                b.UserTypeId = typeid;
                                b.CreateDTTM = System.DateTime.Now;
                                db.tbl_BusinessUser.Add(b);
                                db.SaveChanges();
                          }

                     //return PartialView("verify");
                 }



                 return View("Randa","BU");

           }
HTML

    @using (Html.BeginForm())
    {
        string emailDivDisplayStyle = (ViewBag.ShouldShowVerifyDiv == null || (bool)ViewBag.ShouldShowVerifyDiv == false) ? "" : "display:none"; 

<!-- This flag is used to set display style for email div in below line-->
        <div id="demail" name="demail" style="@emailDivDisplayStyle">
            <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 />
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="submit" value="Sign Up" id="btn" onclick="add()" class="addbutton" />
            </div>

        </div>
        string verifyDivDisplayStyle = (ViewBag.ShouldShowVerifyDiv != null && (bool)ViewBag.ShouldShowVerifyDiv == true) ? "" : "display:none"; 

<!-- This flag is used to set display style for verify div in below line-->
        <div id="dverify" name="dname" style="@verifyDivDisplayStyle">
                <div class="sign3" style="height:267px;width:562px;margin-left:214px" id="verfieddiv">
                    @Html.TextBox("verify", "", new { @placeholder = "Enter the Randam Number", id = "txtverified" })<br /><br />
                    <input type="submit" name="submit" value="Verified" id="vbtn" />
                </div>
            </div>

    }

更改

public ActionResult Randa(string Emailid, string submit, int? Getran) //Removed unnecessary parameter submit1
{
    ...
    if (submit == "Sign Up")
    {
         ViewBag.ShouldShowVerifyDiv = true;
    }
    return View("Randa","BU");
}