2011-12-19 35 views
1

我有點粘在下面的代碼:製作在asp.net MVC3(目前使用PHP)此代碼的工作

$(document).ready(function() { 
    /* Init DataTables */ 
    var oTable = $('#example').dataTable(); 

    /* Apply the jEditable handlers to the table */ 
    $('td', oTable.fnGetNodes()).editable('../examples_support/editable_ajax.php', { 
     "callback": function (sValue, y) { 
      var aPos = oTable.fnGetPosition(this); 
      oTable.fnUpdate(sValue, aPos[0], aPos[1]); 
     }, 
     "submitdata": function (value, settings) { 
      return { 
       "row_id": this.parentNode.getAttribute('id'), 
       "column": oTable.fnGetPosition(this)[2] 
      }; 
     }, 
     "height": "14px" 
    }); 
}); 

注意到它引用」 ../examples_support/editable_ajax。 PHP的」,即PHP文件的內容是:

<?php 
    echo $_POST['value'].' (server updated)'; 
?> 

我被困在兩個方面:

1)會怎樣我將editable_ajax.php中的代碼轉換爲它在asp.net中的等效代碼?

2)我需要在asp.net中創建什麼文件才能引用,比如正在引用的php代碼?我試着創建一個常規的cs文件,但我認爲這不是正確的做法。

回答

2

既然你張貼這是MVC3 ...第一路線(非常具體的特定調用)

routes.MapRoute(
    "Editable Ajax.php", //name 
    "/examples_support/editable_ajax.php", //exact match 
    new {controller="EditableAjax", action="Index"} 
); 

然後,你需要一個EditableAjaxController.cs:

public ActionResult Index(string value) 
{ 
    return View(new EditableAjaxViewModel(value)); 
} 

的EditableAjaxViewModel:

public EditableAjaxViewModel 
{ 
    public string Value{get; set;} 
    public EditableAjaxViewModel(string value) 
    { 
     Value = value; 
    } 
} 

/Views/EditableAjax/Index.cshtml查看:

@model EditableAjaxViewModel 
@Model.Value <text> (server updated)</text> 
+0

對不起,我不太明白,什麼是EditableAjaxViewModel?另外路由中沒有AddRoute()函數(我假設你的意思是在Global.asax.cs中),如果沒問題,我使用routes.MapRoute? – tweetypi 2011-12-19 02:10:26

+0

EditableAjaxModel只是一個封裝傳遞給視圖的數據的類。現在只是一個字符串,但您可以爲其他數據添加其他字段。我認爲MapRoute是對的。對不起這個錯字! – 2011-12-19 03:02:55