MVC中沒有了Form runat="server" 因此AJAX Toolkit中的那些control無法使用了(相信在以後的3.5Entension會增加MVC可以使用的AJax控件)
解決辦法1 - AJAX Controller + AJax extension method
Nikhil 的blog中給出了一個方案並有示例代碼可以下載 - http://www.nikhilk.Net/AJax-MVC.ASPx
解決方法2 - JQuery (推薦)
Chad的blog演示了如何使用JQuery來實現Edit-In-Place效果
http://www.chadmyers.com/Blog/archive/2007/12/13/using-jquery-with-ASP.Net-mvc.ASPx
我在一個 MVC+Danamic Data的項目自定義了一個Dynamic Data模板控件 - 日期編輯控件DateTime_Edit.ascx,由於無法使用AJax Toolkit中的Calendar控件,於是采用了JQuery的DatePicker:
<%@ Control Language="C#" Inherits="System.Web.Mvc.MvcFIEldTemplateUserControlBase" %>
<%= Html.TextBox(MetaMember.Name, DataValueEditString, 1, 10)%>
<%
var txtDateID = MetaMember.Name;
Response.Write("<script type=''text/Javascript'' charset=''utf-8''>jQuery(function($){$(\"#" + txtDateID + "\").datepicker();});</script>");
%>
JQuery DatePicker - http://docs.jquery.com/UI/Datepicker
DatePicker 示例代碼下載 - http://marcgrabanski.com/code/ui-datepicker/core/index.Html
DatePicker ASP.Net Control - http://www.west-wind.com/jqueryweb/jqueryDatepicker.ASPx