2017-05-31 107 views
1

我正在開發一個.net核心應用程序的意見,我是來參加我的代碼,我需要添加遞增根據用戶點擊數據。首先,我有一張帶有元素的桌子。一旦點擊了任何元素,我需要從我的實體框架實現中獲取一些數據,並根據我得到的結果將其「發佈」到表格格式的視圖中。ASP.NET核心 - 用數據填充增量

然後進一步在用戶可以點擊該表中的一個元素,並根據點擊我需要繪製一個地圖上的指針。

我想知道什麼是.Net核心關於這樣的網站的良好做法?

目前我有一個類似的ish視圖,但只有一個表和一個partialView。他們實施的方式是使用我的site.js註冊點擊和HTML元素data-url s來運行我的控制器方法。這是最好還是最優化的方法,還是有更智能的方法?我真的只想知道哪些類型的解決方案..

我和一些朋友談過,他們提到他們會在HTML中創建一個<script></script>部分來執行這樣的操作。我不會認爲這是代碼可讀性和儘可能快的響應的最佳實踐,但我爲此目的而採取其他方法的耳朵呢?

回答

1

動態內容

針對我的意見添加動態HTML代碼的最好方法是

  • 從局部的觀點得到呈現的HTML代碼中創建根據控制器GET動作(在這裏,你可以決定要返回)
  • 當點擊表格中的某些項目,要求此行爲(使用Ajax)與根據參數和返回所提供的HTML數據什麼
  • 插入HTML使用jQuery

例子:

的GET操作

[ResponseCache(NoStore = true, Duration = 0)] 
public async Task<IActionResult> NewStamp(string date, string recentProject) 
{ 

    // Do work with paramters and evaluate right html-code 

    return PartialView("_CollectionPartial", new ViewModel(date, recentProject)); 
} 

的HTML-按鈕

<button asp-controller="Stamps" asp-area="WorkTime" asp-action="NewStamp" id="addStamp" type="button" class="btn btn-success"> 
    <span class="glyphicon glyphicon-plus"></span> Add 
</button> 

的AJAX請求

$.ajax({ 
     url: this.formAction, 
     data: "date=" + date.format("HH:mm") + "&recentProject=" + recentProject, 
     cache: false, 
     success: function (html) { 
      $('#id').append(html); 

處理.js文件

昨天我問過類似的問題,毫不費力。
但我建立了自己的解決方案,請參閱this post