2010-06-01 33 views
1

我在我的网页此asp.net代码在ASP.NET更改内容文本框。使用AJAX

如何使用Ajax来做到这一点?

谢谢

回答

3

可能是使用JavaScript?)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="WebApplication11.WebForm2" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
    <title></title> 
    <script type="text/javascript"> 
     function setDivContent() { 
      var textInput = document.getElementById('text1'); 
      var divPrx = document.getElementById('prx'); 
      divPrx.innerHTML = textInput.value; 
     } 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <div id="prx">ABC</div> 
     <br /> 
     <input type="text" id="text1" /> 
     <button onclick="javascript:setDivContent(); return false;">Set</button> 
    </div> 
    </form> 
</body> 
</html> 
3

检出ASP.NET AJAX UpdatePanel控件。它可以让你改变页面上的文本和“AJAX-ifies”里面的任何东西,而不是做一个完整的回发。 Here是一个很好的教程。

+2

我不推荐使用更新面板。它们很容易使用,直到你想要更多地控制你正在做的事情,那么它们是一种痛苦......就像其他webforms一样。熟悉使用jQuery的ajax特性。不仅jQuery更快,更清洁,而且如果您使用了ASP.NET以外的其他框架,它也会转移到其他框架。 – 2010-06-01 15:26:50

+1

@Doug是的,这是一个很好的观点。它们也非常耗费资源,如果使用的不仅仅是简单的东西,而且容易出错。 在某些情况下,UpdatePanel仍然是一个更好的选择,尤其是如果您是.NET商店并且无意更改或者正在使用其他MS AJAX Control Toolkit控件。然后它是有道理的。但是,是的,如果你没有从服务器更新,那么就使用JavaScript本身。当您需要点击服务器时,UpdatePanel仅用于防止整页回发。 – 2010-06-01 15:35:56

+0

非常感谢你 – 2010-06-01 15:40:54

4

你不需要AJAX来做到这一点。您可以简单地使用Javascript来更新DIV标签的内容和INPUT小部件的内容。见How to set the value of a form element using Javascript

现在如果你想从服务器更新文本框而不重新加载页面,那么 AJAX。尽管如此,我会在UpdatePanels上使用jQuery.ajax()函数。这里有一个jQuery AJAX Tutorial