解决了。在asp.net MVC中,如何更改使用AutoPostBacking局部视图文本框的值 [英] Solved .. In asp.net MVC, How to change the value of TextBox in a Partial View using AutoPostBacking
问题描述
我很新的汽车Postbacking在MVC Asp.net。 我需要为更改TextBox2中的值,而自动postbacking局部视图并自动回应该发生的唯一的后TextBox1中点击
问题:autopostbacking后TextBox2中是不会改变的值
进一步的调查结果:岗位上取得成功的功能是工作(功能的SetData(数据)),所以,当我调试的code,它AutoPostBacked到ActionMethod:测试(),并执行code和返回以_PartialViewTwo并执行code代雷,但它并没有改变TextBox2中值
请注意:TextBox1的是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>< DIV 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屋!