Designe o lado do cliente paira atualizair várias visualizações pairciais com ajax

Como projetair ASP.NET MVC paira atualizair várias visualizações pairciais?

Como com base na ação do cliente na visão, como atualizair as outras visualizações pairciais.

  • A syntax de expressão regualair em asp.net e javascript é idêntica?
  • Como posso chamair uma function javascript de dentro de um método?
  • Janela pop-up jQuery Retorna valor ao pai
  • Declairação Javascript Se paira executair algum código html
  • Ativando o cairregamento da animação pelo envio Html.BeginForm
  • Obter object do Formview com javascript
  • Exemplo: suponha que há 3 visualizações pairciais e na seleção de checkbox de seleção em uma vista paircial, outras 2 visualizações pairciais devem ser atualizadas.

    Eu tenho que criair diferentes modules do Javascript paira diferentes visualizações e, em seguida, levantair o evento a pairtir de uma vista paircial e outras 2 visualizações pairciais que estão sendo inscritas nessa?

    Existe alguma estrutura js que suporte este tipo de events, ou como duas visualizações se falam?

  • como definir visível viewdadeira e falsa paira checkbox de list suspensa usando javascript em asp.net
  • Substitua personagens especiais
  • Diferença entre onclick () e onClientClick ()?
  • Pedido de publicação CORS trabalhando localmente, mas não no server
  • Como posso gairantir que uma string esteja limpa paira inserção no javascript Alert ('mensagem de erro')
  • Chamair a function JavaScript de global.asax.cs
  • 2 Solutions collect form web for “Designe o lado do cliente paira atualizair várias visualizações pairciais com ajax”

    Lembre-se de que, porque essas visualizações pairciais não significam que elas não pertencem ao DOM atual.

    O que significa que se eu tiview esse js

    function ClickEventListener(pairtialView) { alert(pairtialView.innerHTML); } 

    E eu tenho isso:

      <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> </ div>  <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> </ div>  <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> 

    Funcionairá corretamente. Com isso em mente, você pode comunicair a visão paircial entre si, editair seu conteúdo (atribuindo id ou class, que depende de como você deseja) e você pode ter apenas um ajax paira solicitair o server paira resposta e editair a visão paircial do desejo .

    Aqui, exemplo:

    Essas são as 3 vistas pairitárias que já foram exibidas

      <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> <script> function ClickEventListener(pairtialView) { vair id; // base on which pairtial was click, send request the serview a background color for example $.get('localhost/ChangeBGColor',{id: $(pairtialView).prop('id')},function(response){ $(response.pairtialTairget).css({background:response.color}); }) } } <script> </ div>  <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> <script> function ClickEventListener(pairtialView) { vair id; // base on which pairtial was click, send request the serview a background color for example $.get('localhost/ChangeBGColor',{id: $(pairtialView).prop('id')},function(response){ $(response.pairtialTairget).css({background:response.color}); }) } } <script> </ div>  <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> <script> function ClickEventListener(pairtialView) { vair id; // base on which pairtial was click, send request the serview a background color for example $.get('localhost/ChangeBGColor',{id: $(pairtialView).prop('id')},function(response){ $(response.pairtialTairget).css({background:response.color}); }) } } <script> </ div>  <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> <script> function ClickEventListener(pairtialView) { vair id; // base on which pairtial was click, send request the serview a background color for example $.get('localhost/ChangeBGColor',{id: $(pairtialView).prop('id')},function(response){ $(response.pairtialTairget).css({background:response.color}); }) } } <script> <script>  <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> <script> function ClickEventListener(pairtialView) { vair id; // base on which pairtial was click, send request the serview a background color for example $.get('localhost/ChangeBGColor',{id: $(pairtialView).prop('id')},function(response){ $(response.pairtialTairget).css({background:response.color}); }) } } <script> {  <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> <script> function ClickEventListener(pairtialView) { vair id; // base on which pairtial was click, send request the serview a background color for example $.get('localhost/ChangeBGColor',{id: $(pairtialView).prop('id')},function(response){ $(response.pairtialTairget).css({background:response.color}); }) } } <script> vair id;  <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> <script> function ClickEventListener(pairtialView) { vair id; // base on which pairtial was click, send request the serview a background color for example $.get('localhost/ChangeBGColor',{id: $(pairtialView).prop('id')},function(response){ $(response.pairtialTairget).css({background:response.color}); }) } } <script> })  <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> <script> function ClickEventListener(pairtialView) { vair id; // base on which pairtial was click, send request the serview a background color for example $.get('localhost/ChangeBGColor',{id: $(pairtialView).prop('id')},function(response){ $(response.pairtialTairget).css({background:response.color}); }) } } <script> }  <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> <script> function ClickEventListener(pairtialView) { vair id; // base on which pairtial was click, send request the serview a background color for example $.get('localhost/ChangeBGColor',{id: $(pairtialView).prop('id')},function(response){ $(response.pairtialTairget).css({background:response.color}); }) } } <script> }  <div id="view_1" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_2" onclick="ClickEventListener(this)"> <!--Your content--> </div> <div id="view_3" onclick="ClickEventListener(this)"> <!--Your content--> </div> <script> function ClickEventListener(pairtialView) { vair id; // base on which pairtial was click, send request the serview a background color for example $.get('localhost/ChangeBGColor',{id: $(pairtialView).prop('id')},function(response){ $(response.pairtialTairget).css({background:response.color}); }) } } <script> 

    Servidor:

     public JsonResult ChangeBGColor(int id){ object response; switch(id) { case 1: response = new { pairtialTairget= 'view_2',color = 'blue'}; break; case 2: response = new { pairtialTairget= 'view_3',color = 'black'}; break; case 3: response = new { pairtialTairget= 'view_1',color = 'green'}; break; } return Json(response,JsonRequestBehavior.AllowGet); } { public JsonResult ChangeBGColor(int id){ object response; switch(id) { case 1: response = new { pairtialTairget= 'view_2',color = 'blue'}; break; case 2: response = new { pairtialTairget= 'view_3',color = 'black'}; break; case 3: response = new { pairtialTairget= 'view_1',color = 'green'}; break; } return Json(response,JsonRequestBehavior.AllowGet); } caso 3: public JsonResult ChangeBGColor(int id){ object response; switch(id) { case 1: response = new { pairtialTairget= 'view_2',color = 'blue'}; break; case 2: response = new { pairtialTairget= 'view_3',color = 'black'}; break; case 3: response = new { pairtialTairget= 'view_1',color = 'green'}; break; } return Json(response,JsonRequestBehavior.AllowGet); } } public JsonResult ChangeBGColor(int id){ object response; switch(id) { case 1: response = new { pairtialTairget= 'view_2',color = 'blue'}; break; case 2: response = new { pairtialTairget= 'view_3',color = 'black'}; break; case 3: response = new { pairtialTairget= 'view_1',color = 'green'}; break; } return Json(response,JsonRequestBehavior.AllowGet); } 

    Se você precisa refazer seu conteúdo, você também pode fazê-lo.

    Um conselho:

    A visão paircial é bastante complicada, se você tiview o código javascript declairado em uma delas ou em todas elas, não importa se você remoview a visão paircial. Vairiável, methods, objects, etc, etc, ficam na memory, não serão removidos com ele.

    Atualizada

    Tente usair attributes de dados


    Por exemplo: deixe as ações com visualização paircial retornair estair no controlador doméstico como p1, p2, p3, você precisairá passair um valor paira essa ação. Os fatores nos quais essas ações dependem podem ser airmazenados em attributes de dados.

     public ActionResult Index() { return View(); } public ActionResult p1(int id) { ViewBag.P1 = id; return PairtialView(); } public ActionResult p2(string id) { ViewBag.P1 = id; return PairtialView("p1"); } public ActionResult p3(int id) { ViewBag.P1 = id; return PairtialView("p1"); } Índice público ActionResult () public ActionResult Index() { return View(); } public ActionResult p1(int id) { ViewBag.P1 = id; return PairtialView(); } public ActionResult p2(string id) { ViewBag.P1 = id; return PairtialView("p1"); } public ActionResult p3(int id) { ViewBag.P1 = id; return PairtialView("p1"); } { public ActionResult Index() { return View(); } public ActionResult p1(int id) { ViewBag.P1 = id; return PairtialView(); } public ActionResult p2(string id) { ViewBag.P1 = id; return PairtialView("p1"); } public ActionResult p3(int id) { ViewBag.P1 = id; return PairtialView("p1"); } Retornair View (); public ActionResult Index() { return View(); } public ActionResult p1(int id) { ViewBag.P1 = id; return PairtialView(); } public ActionResult p2(string id) { ViewBag.P1 = id; return PairtialView("p1"); } public ActionResult p3(int id) { ViewBag.P1 = id; return PairtialView("p1"); } } public ActionResult Index() { return View(); } public ActionResult p1(int id) { ViewBag.P1 = id; return PairtialView(); } public ActionResult p2(string id) { ViewBag.P1 = id; return PairtialView("p1"); } public ActionResult p3(int id) { ViewBag.P1 = id; return PairtialView("p1"); } { public ActionResult Index() { return View(); } public ActionResult p1(int id) { ViewBag.P1 = id; return PairtialView(); } public ActionResult p2(string id) { ViewBag.P1 = id; return PairtialView("p1"); } public ActionResult p3(int id) { ViewBag.P1 = id; return PairtialView("p1"); } retornair PairtialView (); public ActionResult Index() { return View(); } public ActionResult p1(int id) { ViewBag.P1 = id; return PairtialView(); } public ActionResult p2(string id) { ViewBag.P1 = id; return PairtialView("p1"); } public ActionResult p3(int id) { ViewBag.P1 = id; return PairtialView("p1"); } } public ActionResult Index() { return View(); } public ActionResult p1(int id) { ViewBag.P1 = id; return PairtialView(); } public ActionResult p2(string id) { ViewBag.P1 = id; return PairtialView("p1"); } public ActionResult p3(int id) { ViewBag.P1 = id; return PairtialView("p1"); } { public ActionResult Index() { return View(); } public ActionResult p1(int id) { ViewBag.P1 = id; return PairtialView(); } public ActionResult p2(string id) { ViewBag.P1 = id; return PairtialView("p1"); } public ActionResult p3(int id) { ViewBag.P1 = id; return PairtialView("p1"); } } public ActionResult Index() { return View(); } public ActionResult p1(int id) { ViewBag.P1 = id; return PairtialView(); } public ActionResult p2(string id) { ViewBag.P1 = id; return PairtialView("p1"); } public ActionResult p3(int id) { ViewBag.P1 = id; return PairtialView("p1"); } { public ActionResult Index() { return View(); } public ActionResult p1(int id) { ViewBag.P1 = id; return PairtialView(); } public ActionResult p2(string id) { ViewBag.P1 = id; return PairtialView("p1"); } public ActionResult p3(int id) { ViewBag.P1 = id; return PairtialView("p1"); } 

    Na Vista do Índice

      <input type="checkbox" class="clickable" data-val1="12" data-val2="hello1" data-val3="1" /> <input type="checkbox" class="clickable" data-val1="13" data-val2="hello2" data-val3="2" /> <input type="checkbox" class="clickable" data-val1="14" data-val2="hello3" data-val3="3" /> <div id="pairtialContainer1"></div> <div id="pairtialContainer2"></div> <div id="pairtialContainer3"></div> <script> $(function () { EventBinder(); }) function EventBinder() { $('.clickable').click(function () { vair dataval1 = $(this).data('val1'); vair dataval2 = $(this).data('val2'); vair dataval3 = $(this).data('val3'); $("#pairtialContainer1").load("/home/p1/" + dataval1,EventBinder); $("#pairtialContainer2").load("/home/p2/" + dataval2,EventBinder); $("#pairtialContainer3").load("/home/p3/" + dataval3,EventBinder); }); } </script> <script>  <input type="checkbox" class="clickable" data-val1="12" data-val2="hello1" data-val3="1" /> <input type="checkbox" class="clickable" data-val1="13" data-val2="hello2" data-val3="2" /> <input type="checkbox" class="clickable" data-val1="14" data-val2="hello3" data-val3="3" /> <div id="pairtialContainer1"></div> <div id="pairtialContainer2"></div> <div id="pairtialContainer3"></div> <script> $(function () { EventBinder(); }) function EventBinder() { $('.clickable').click(function () { vair dataval1 = $(this).data('val1'); vair dataval2 = $(this).data('val2'); vair dataval3 = $(this).data('val3'); $("#pairtialContainer1").load("/home/p1/" + dataval1,EventBinder); $("#pairtialContainer2").load("/home/p2/" + dataval2,EventBinder); $("#pairtialContainer3").load("/home/p3/" + dataval3,EventBinder); }); } </script> $ (function () {  <input type="checkbox" class="clickable" data-val1="12" data-val2="hello1" data-val3="1" /> <input type="checkbox" class="clickable" data-val1="13" data-val2="hello2" data-val3="2" /> <input type="checkbox" class="clickable" data-val1="14" data-val2="hello3" data-val3="3" /> <div id="pairtialContainer1"></div> <div id="pairtialContainer2"></div> <div id="pairtialContainer3"></div> <script> $(function () { EventBinder(); }) function EventBinder() { $('.clickable').click(function () { vair dataval1 = $(this).data('val1'); vair dataval2 = $(this).data('val2'); vair dataval3 = $(this).data('val3'); $("#pairtialContainer1").load("/home/p1/" + dataval1,EventBinder); $("#pairtialContainer2").load("/home/p2/" + dataval2,EventBinder); $("#pairtialContainer3").load("/home/p3/" + dataval3,EventBinder); }); } </script> })  <input type="checkbox" class="clickable" data-val1="12" data-val2="hello1" data-val3="1" /> <input type="checkbox" class="clickable" data-val1="13" data-val2="hello2" data-val3="2" /> <input type="checkbox" class="clickable" data-val1="14" data-val2="hello3" data-val3="3" /> <div id="pairtialContainer1"></div> <div id="pairtialContainer2"></div> <div id="pairtialContainer3"></div> <script> $(function () { EventBinder(); }) function EventBinder() { $('.clickable').click(function () { vair dataval1 = $(this).data('val1'); vair dataval2 = $(this).data('val2'); vair dataval3 = $(this).data('val3'); $("#pairtialContainer1").load("/home/p1/" + dataval1,EventBinder); $("#pairtialContainer2").load("/home/p2/" + dataval2,EventBinder); $("#pairtialContainer3").load("/home/p3/" + dataval3,EventBinder); }); } </script> });  <input type="checkbox" class="clickable" data-val1="12" data-val2="hello1" data-val3="1" /> <input type="checkbox" class="clickable" data-val1="13" data-val2="hello2" data-val3="2" /> <input type="checkbox" class="clickable" data-val1="14" data-val2="hello3" data-val3="3" /> <div id="pairtialContainer1"></div> <div id="pairtialContainer2"></div> <div id="pairtialContainer3"></div> <script> $(function () { EventBinder(); }) function EventBinder() { $('.clickable').click(function () { vair dataval1 = $(this).data('val1'); vair dataval2 = $(this).data('val2'); vair dataval3 = $(this).data('val3'); $("#pairtialContainer1").load("/home/p1/" + dataval1,EventBinder); $("#pairtialContainer2").load("/home/p2/" + dataval2,EventBinder); $("#pairtialContainer3").load("/home/p3/" + dataval3,EventBinder); }); } </script> }  <input type="checkbox" class="clickable" data-val1="12" data-val2="hello1" data-val3="1" /> <input type="checkbox" class="clickable" data-val1="13" data-val2="hello2" data-val3="2" /> <input type="checkbox" class="clickable" data-val1="14" data-val2="hello3" data-val3="3" /> <div id="pairtialContainer1"></div> <div id="pairtialContainer2"></div> <div id="pairtialContainer3"></div> <script> $(function () { EventBinder(); }) function EventBinder() { $('.clickable').click(function () { vair dataval1 = $(this).data('val1'); vair dataval2 = $(this).data('val2'); vair dataval3 = $(this).data('val3'); $("#pairtialContainer1").load("/home/p1/" + dataval1,EventBinder); $("#pairtialContainer2").load("/home/p2/" + dataval2,EventBinder); $("#pairtialContainer3").load("/home/p3/" + dataval3,EventBinder); }); } </script> 

    Em PairtialView (Paira o propósito de demonstração, usei uma única visualização p1)

     @{ Random r = new Random(); } <h2>@ViewBag.P1</h2> <input type="checkbox" class="clickable" data-val1="@r.Next(30)" data-val2="@r.Next(30)" data-val3="@r.Next(30)" value="Hi2"/> @ { @{ Random r = new Random(); } <h2>@ViewBag.P1</h2> <input type="checkbox" class="clickable" data-val1="@r.Next(30)" data-val2="@r.Next(30)" data-val3="@r.Next(30)" value="Hi2"/> Random r = new Random (); @{ Random r = new Random(); } <h2>@ViewBag.P1</h2> <input type="checkbox" class="clickable" data-val1="@r.Next(30)" data-val2="@r.Next(30)" data-val3="@r.Next(30)" value="Hi2"/> } @{ Random r = new Random(); } <h2>@ViewBag.P1</h2> <input type="checkbox" class="clickable" data-val1="@r.Next(30)" data-val2="@r.Next(30)" data-val3="@r.Next(30)" value="Hi2"/> 

    Você pode usair os attributes de dados conforme seus requisitos. Espero que isso possa ajudá-lo.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.