2013-05-19 38 views
-4

我正在使用帶有Razor視圖模型的ASP.NET MVC 4。我想用Knockout來實現SignalR。這是我目前正在完美運行的代碼。在ASP.NET MVC中更新多個視圖和多個客戶端(Razor)

我有一個要求,當一個任務被創建時,它應該顯示所有的客戶端,並且還應該在不同的視圖上顯示客戶端消息。

@model TaskManager.Models.TaskList 
@{ 
ViewBag.Title = "Create"; 
} 

<h2>Create</h2> 


@using (Html.BeginForm()) { 
@Html.AntiForgeryToken() 
@Html.ValidationSummary(true) 

<fieldset> 
    <legend>TaskList</legend> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.Taskname) 
    </div> 
    <div class="editor-field"> 

     @Html.EditorFor(model => model.Taskname) 
     @Html.ValidationMessageFor(model => model.Taskname) 
    </div> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.Taskdesc) 
    </div> 
    <div class="editor-field"> 
     @Html.TextAreaFor(model => model.Taskdesc) 
     @Html.ValidationMessageFor(model => model.Taskdesc) 
    </div> 
    <p> 
     <input type="submit" value="Create" /> 
    </p> 
    </fieldset> 
    } 

    <div> 
    @Html.ActionLink("Back to List", "Index") 
    </div> 

    @section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
    } 
+1

你的問題沒有包括足夠的信息來理解你真正要求的東西。事實上,你甚至不問一個真正的問題,你只是做一些陳述。 –

+0

我的問題是當我創建新的任務應該顯示通知給任務名稱和任務描述的所有用戶 – user1127905

+1

我根本不明白你在問什麼。 –

回答

1

您可能不熟悉SignalR的工作方式,因爲這聽起來像是一項家庭作業。如果我錯了,請原諒我。

要開始,請閱讀關於SignalR的維基:http://www.asp.net/signalr 另外,花點時間閱讀關於Knockout的教程:http://learn.knockoutjs.com/。這將幫助您調整和熟悉這兩種技術如何工作以及他們的能力。

一旦準備好進入,您將需要爲SignalR設置服務器端集線器。然後,您可以允許通過JavaScript從客戶端瀏覽器進行連接。驗證您可以建立連接,並且服務器和客戶端之間的通信都很好。如果你覺得任何事情都陷入困境,那麼就通過SignalR wiki和示例項目。

然後,只需分配一個javascript函數,以供服務器端集線器調用。此功能將更新您的Knockout視圖模型以添加新任務。

這很簡單,但我沒有具體的解決方案示例,因爲我覺得你有一些追趕的事情。祝你好運!