2013-01-24 42 views
0

我想雙擊另一個網格面板的單元另一個 帶額外參數的動作/視圖示例: 網格面板位於.../Student中,我想在其他頁面上顯示一個 學生的詳細信息,例如:/ Student/Detail/1雙擊他的 姓名,ID或他的記錄中的任何數據。 對不起,我的英文不好Ext.net MVC Razor Cell雙擊網格面板

回答

0

我想這

@(
    Html.X().GridPanel() 
       .Title("Students") 
       .Width(550) 
       .Height(200) 
       .ForceFit(true) 
       .Store(Html.X().Store().Model(Html.X().Model() 
        .Fields(fields => 
        { 
fields.Add(Html.X().ModelField().Name("StudentID")); 
fields.Add(Html.X().ModelField().Name("LastName")); 
fields.Add(Html.X().ModelField().Name("FirstMidName")); 
fields.Add(Html.X().ModelField().Name("EnrollmentDate")); 
        } 
        ) 
       ).DataSource(Model) 
    ).ColumnModel(
      Html.X().Column().Text("Student ID").DataIndex("StudentID"), 
     Html.X().Column().Text("Last Name").DataIndex("LastName"), 
     Html.X().Column().Text("First Name").DataIndex("FirstMidName"), 
Html.X().DateColumn().Text("Enrollment").DataIndex("EnrollmentDate") 
    ).DirectEvents(de => 
     { 
      de.CellDblClick.Url = "Edit"; // also tried 
de.CellDblClick.Action = "Edit"; 
      de.CellDblClick.ExtraParams.Add(1);   //static 
later I'll add the StudentID here 
     } 
     ) 
) 

的GridPanel中顯示沒有問題的數據,但是當我雙擊一個 細胞這是它的sended 本地主機請求:10782 /學生/編輯?_dc = 1359052548829 而不是這個 localhost:10782/Student/Edit/1

0

我可以建議使用Before處理程序來管理URL。

要從URL中刪除「?dc ...」,請設置DisableCaching =「false」。

<%@ Page Language="C#" %> 

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %> 

<!DOCTYPE html> 

<html> 
<head runat="server"> 
    <title>Ext.NET v2 Example</title> 

    <script> 
     var counter = 1; 
    </script> 
</head> 
<body> 
    <ext:ResourceManager runat="server" /> 
    <ext:Button runat="server" Text="Test"> 
     <DirectEvents> 
      <Click Url="Some URL" Before="o.url = o.rawUrl + counter++;" DisableCaching="false"> 
       <CustomConfig> 
        <ext:ConfigItem Name="rawUrl" Value="Controller/Action/" Mode="Value" /> 
       </CustomConfig> 
      </Click> 
     </DirectEvents> 
    </ext:Button> 
</body> 
</html>