2016-06-10 62 views
0

我的問題是,我只是想重裝(按鈕點擊)這部分視圖,其中按鈕在按鈕刷新自己的局部視圖的ASP.NET MVC

它看起來像:

查看:

@for (int x = 0; x < Model.Height; x++) 
{ 
<tr> 
    @for (int y = 0; y < Model.Witdh; y++) 
    { 
     <td> 
      @Html.Partial("MyPartialView", new Test() { X = x, Y = y, Type = Models.OwnType.Unknown) 
     </td> 
    } 
</tr> 
} 

PartialView(MyPartialView)

@model Client.Models.Test 

@if (Model.Type == Models.OwnType.Unknow) 
{ 
    <div id="Unknow"> 
      <input id="fire" type=submit value="fire" /> 
    </div> 
} 
else if (Model.Type == Models.OwnType.Type.A) 
{ 
    <div id="TypeA">A</div> 
} 
else if (Model.Type == Models.OwnType.Type.B) 
{ 
    <div id="TypeB">B</div> 
} 

控制器

public ActionResult ChangeAt(int x,int y) 
{ 
    var model = // change type 

    return PartialView("MyPartialView", model); 
} 

型號

public class Test 
{ 
    public int X { get; set; } 
    public int Y { get; set; } 
    public OwnType Type { get; set; } 
} 

回答

0

剃刀不會是能夠幫助你在這裏。在完整頁面剃鬚刀視圖被髮送到瀏覽器之前,它將被創建。您可以使用iframe來獲得所需的行爲,而不是使其成爲局部視圖,而只是將其視爲iframe中的完整視圖。否則,它可能是javascript/jquery類型的解決方案,這是大多數人所做的。

+0

謝謝。我也這麼想。但大部分jQuery解決方案都會在局部視圖外部使用按鈕重新加載局部視圖。當按鈕處於內部時,是否也可以使用腳本,因爲我認爲我需要動態選擇器? – gexen

+0

我遇到了麻煩,我的頭圍繞這個,但它聽起來像你正在生成一個巨大的html輸出。你可以在部分視圖中使用JavaScript來保存正確的值。我的直覺告訴我這是一個Angularjs問題。對不起,沒有幫助更多。 –