解决了。​​在asp.net MVC中,如何更改使用AutoPostBacking局部视图文本框的值 [英] Solved .. In asp.net MVC, How to change the value of TextBox in a Partial View using AutoPostBacking

查看:83
本文介绍了解决了。​​在asp.net MVC中,如何更改使用AutoPostBacking局部视图文本框的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我很新的汽车Postbacking在MVC Asp.net。 我需要为更改TextBox2中的值,而自动postbacking局部视图并自动回应该发生的唯一的后TextBox1中点击

问题:autopostbacking后TextBox2中是不会改变的值

进一步的调查结果:岗位上取得成功的功能是工作(功能的SetData(数据)),所以,当我调试的code,它AutoPostBacked到ActionMethod:测试(),并执行code和返回以_PartialViewTwo并执行code代雷,但它并没有改变TextBox2中值

请注意:T​​extBox1的是PartialViewOne,TextBox2中是PartialViewTwo

在此先感谢您的帮助。

// GET:首页

 公众的ActionResult指数()
{
    回复于(工作指标);
    学生模型=新的学生();
    Model.RollNo = 1;
    Model.Name =阿朗;
    返回查看(模型);
}

[HttpPost]
公共PartialViewResult测试()
{
    学生模型=新的学生();
    回复于(工作TEST3);
    Model.Name =Afsal;
    返回PartialView(_ PartialViewTwo,模型);
}
 

首页查看

  @model test1.Models.Student
    @using(Html.BeginForm(指数,家,FormMethod.Post))
    {
     <表>
      &其中; TR> < TD> @ Html.LabelFor(X => x.RollNo)
           < TD> @ Html.Partial(_ PartialViewOne,模型)和LT; / TD>
      < / TR>
      &其中; TR>
          < TD>< D​​IV ID =divpartialview> @ Html.Partial(_ PartialViewTwo,模型)和LT; / DIV>< / TD>
      < / TR>
      < /表>
    }
 

PartialViewOne

  @ Html.TextBox(TXT1)
    <脚本的src =〜/脚本/ jQuery的-1.10.2.min.js>< / SCRIPT>

    <脚本>
    $(文件)。就绪(FUN1)
    功能FUN1()
    {
        警报(准备好了);
        $(#TXT1)点击(FUN2);
    }
    功能FUN2()
    {
        警报(点击);
        $阿贾克斯({
            网址:@ Url.Action(测试/家),
            数据:空,
            缓存:假的,
            键入:POST,
            数据类型:HTML,
            成功:功能(数据,textStatus,XMLHtt prequest){
                SetData的(数据);
            }
        });
    }
    函数的SetData(数据){
        警报(再次);
        $(#divPartialView)的HTML(数据); // HTML DOM更换
    }
    < / SCRIPT>
 

PartialViewtwo

  @model test1.Models.Student
  @ Model.Name
 

解决方案

@至所有:问题是固定的。它的一种情况,选择敏感的错误 $(#divPartialView)的.html(数据)的jQuery函数里面的功能的的SetData(数据),现在它更改为 $(#divpartialview)........ ....:P

 函数SetData的(数据){
        警报(再次);
        $(#divpartialview)。html的(数据); // HTML DOM更换
    }
 

I am very new to Auto Postbacking in MVC Asp.net. i need to change the value of textbox2, While Auto postbacking the Partial View and Autopostback should happen only after a click in textbox1

Issue: textbox2 is not changing the value after autopostbacking.

Further findings: Post Success Function is working("function SetData(data)") , so when i debugged the code, it AutoPostBacked to ActionMethod:"Test()" and executed the code and returned to _PartialViewTwo and executed code dere , but it did not changed the TextBox2 value

note: TextBox1 is in PartialViewOne ,TextBox2 is in PartialViewTwo

Thanks in advance for any help.

// GET: Home

public ActionResult Index()
{
    Response.Write("working Index");
    Student Model = new Student();
    Model.RollNo = 1;
    Model.Name = "Arun";
    return View(Model);
}

[HttpPost]
public PartialViewResult Test()
{
    Student Model = new Student();
    Response.Write("working test3");
    Model.Name = "Afsal";  
    return PartialView("_PartialViewTwo",Model) ;
}

Home View

@model test1.Models.Student
    @using (Html.BeginForm("Index","Home",FormMethod.Post))
    {
     <table>
      <tr> <td>@Html.LabelFor(x=>x.RollNo) 
           <td>@Html.Partial("_PartialViewOne",Model)</td>
      </tr>
      <tr>
          <td><div id="divpartialview">@Html.Partial("_PartialViewTwo",Model)</div></td>
      </tr>
      </table>
    }

PartialViewOne

    @Html.TextBox("txt1")
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>

    <script>
    $(document).ready(fun1)
    function fun1()
    {
        alert("ready");
        $("#txt1").click(fun2);
    }
    function fun2()
    { 
        alert("click");
        $.ajax({
            url: '@Url.Action("Test/Home")',
            data: null,
            cache: false,
            type: "POST",
            dataType: "html",
            success: function (data, textStatus, XMLHttpRequest) {
                SetData(data);
            }
        });
    }
    function SetData(data) {
        alert("again");
        $("#divPartialView").html(data); // HTML DOM replace
    }
    </script>

PartialViewtwo

@model test1.Models.Student
  @Model.Name 

解决方案

@To all : Issue is fixed. its a case sensitive error in the selector "$("#divPartialView").html(data)" inside the jquery function "function SetData(data)" , now it is changed to"$("#divpartialview ")" ........ ....:P

function SetData(data) {
        alert("again");
        $("#divpartialview ").html(data); // HTML DOM replace
    }

这篇关于解决了。​​在asp.net MVC中,如何更改使用AutoPostBacking局部视图文本框的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆