質問

Ok、全てが機能的に仕事に取り組える試みを行っていますの達成には、この頃にないダムできなかったことはどういうことが一つあります。

私はフォームの編集のための企業ょう。この車で0-多くの人です。なので私のフォームの編集、すべての分野において、そのリストを示す各客車(一部).また、"新規追加の乗客"ボタンが描画する新しいカスタマーサポートをすることができる。これは解除リンク、追加ボタンの提出をAjaxです。追加された場合は旅客が、旅客が自動的に追加され、リストさんありがとうございます。を入力形客車を離れますしていたのに応えてヘッダを作成およびonComplete機能を非表示にしdivことで、描画の一部のHTML要素(ホワイト画面では、テキスト)はpartialViewのコンテキスト全体をページです。

資料1)主編集ビュー

    <script type="text/javascript">
    Function hideForm(){
        document.getElementById('newPassenger').style.display = 'none';
    }

</script>
<h2>Edit</h2>

<%-- The following line works around an ASP.NET compiler warning --%>
<%= ""%>

<%Html.RenderPartial("EditCar", Model)%>
<h2>Passengers for this car</h2>
<%=Ajax.ActionLink("Add New Passenger", "AddPassenger", New With {.ID = Model.carID}, New AjaxOptions With {.UpdateTargetId = "newPassenger", .InsertionMode = InsertionMode.Replace})%>
<div id="newPassenger"></div>
<div id="passengerList">
    <%Html.RenderPartial("passengerList", Model.Passengers)%>
</div>
<div>
    <%= Html.ActionLink("Back to List", "Index") %>
</div>

2)AddPassengerます。ない場合はキャンセルは下記リンクであるactionを返しまい、その除去の情報をdiv.

<%  Using Ajax.BeginForm("AddPassengerToCar", New With {.id = ViewData("carID")}, New AjaxOptions With {.OnSuccess = "hideForm()", .UpdateTargetId = "passengerList", .InsertionMode = InsertionMode.Replace})%>   
    <%=Html.DropDownList("Passengers")%> 
    <input type="submit" value="Add" />
    <%=Ajax.ActionLink("Cancel", "CancelAddControl", _
                                            New AjaxOptions With {.UpdateTargetId = "newPassenger", .InsertionMode = InsertionMode.Replace})%><% end using %>
役に立ちましたか?

解決

Ok-紋織りのものとのことだと思いたったことから遅すぎます。なので、ここではその答えは、実際に小さな問題を論しました。

  1. 機能hideForm()は、javascriptのすべき機能hideForm()、都.ものを書き慣れているのでコントローラー機能だと思います。
  2. 使っていた"hideForm()"に応えてヘッダを作成属性があるので、"hideForm"イドゥ.
  3. おそらくない非表示の本部長としてをクリックすると、追加の乗客のリンクの本部長な表示になります。変更hideForm機能の設定をinnerHTMLの部分にお楽しみいただけます。※

ってくれたことに感謝darinご案内いたしようとしますのでよかったです。

他のヒント

あなたのページでMicrosoftAjax.jsMicrosoftMvcAjax.jsスクリプトの両方を参照してきたことを確認してください。部分ビューの内容を取得するための理由(白い画面、テキスト)が正しく実行するのAJAXを防ぎ、スクリプトエラーの可能性があります。 Firebugのを持つルック実行中に多少の誤差があるかどうか。

限りのフォームを非表示にすると、あなたはOnSuccessコールバックを使用することができます懸念している。

<% Using Ajax.BeginForm("AddPassengerToCar", 
    New With { .id = ViewData("carID")}, 
    New AjaxOptions With {
        .UpdateTargetId = "passengerList", 
        .InsertionMode = InsertionMode.Replace,
        .OnSuccess = "hideForm"
}) %>

hideFormのJavaScript関数は、AJAX呼び出しが成功した場合に実行され、所望のdivを非表示になります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top