異なるユーザータイプのログインページを作成したい。それらのすべてがuid、pwd、emailを必要とします。フォームには、ユーザータイプの既定のドロップダウンリストがあります。ユーザーの選択に基づいて、同じページにビューの後半を動的にロードする必要があります。私が従うことができる例はありますか?ありがとう。mvc同じページのユーザー入力に基づく動的部分表示
2
A
答えて
2
幸いにも、私はこれを持っています。下のコードでは、CreateForm divはコントローラアクションから得られる動的レンダリングビューを取得します。ドロップダウンリストの選択が変更されると、AJAXコールがトリガされます。
<asp:Content ID="Content2" ContentPlaceHolderID="HeadContent" runat="server">
<script type="text/javascript">
var ddlContentTypes;
$(document).ready(function() {
ddlContentTypes = $("#ContentTypes");
ddlContentTypes.bind("change", loadCreate);
loadCreate();
});
function loadCreate() {
var typeId = $("#ContentTypes option:selected").val();
<% if (Request.QueryString["modal"] != null && !string.IsNullOrEmpty(Request.QueryString["modal"]))
{%>
$.get('~/' + typeId + '/Create?modal=true', function (data) {
<%
} else
{%>
$.get('~/' + typeId + '/Create', function (data) {
<%
}%>
$("#CreateForm").html(data);
$("fieldset textarea").each(function() {
tinyMCE.execCommand('mceAddControl', false, this.id);
});
});
}
</script>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
<h2>
<%=Resources.Localize.Routes_WidgetsCreate%></h2>
<p>
<% Html.RenderPartial("ContentTypeSelector"); %></p>
<div id="CreateForm">
</div>
</asp:Content>
Ajax呼び出し(上記のJSでloadCreate()
)にルーティングされます:私は、メインビューがなど、のような配線に
をTinyMCEの動的およびローカライズされたリソース文字列の読み込みをいくつかの他のものを残してきましたコントローラアクション特定のコンテンツタイプ用に作成します。以下はSection
コンテンツタイプのCreate()
コントローラアクションのコードされています
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Administration.Master" Inherits="System.Web.Mvc.ViewPage" %>
<!-- render user control -->
<% Html.RenderPartial("Section-CreateEditForm"); %>
そして、我々ので、我々はまた、必要Section-CreateEditForm.ascx
制御、:
//
// GET: /Section/Create
[CanReturnModalView]
[Authorize(Roles = "Administrators")]
public ActionResult Create()
{
if (Request.IsAjaxRequest())
return PartialView("Section-CreateEditForm", new SectionViewModel()); // return ascx
return View(new SectionViewModel()); // return plain aspx
}
ここではSection
のコンテンツタイプがCreate
ビュー(Views/Section/Create.aspx)
ありますRenderPartial()
コールの一部としてレンダリングし、リクエストがAJAXの場合はコントローラのアクションから戻します。これは本質的にあなたが欲しいものですが、明らかにそれは<form>
タグを含んでいなければなりませんし、POSTアクションのURL構築の形式に注意してください。
<h2>
<%=Resources.Localize.EditingContentTitle %></h2>
<%= Html.ValidationSummary(Resources.Localize.Validation_EditFailure) %>
<form id="Section-CreateEditForm" action="<%=Url.Action(Url.RequestContext.RouteData.GetRequiredString("action"), Url.RequestContext.RouteData.GetRequiredString("controller")) %>" enctype="multipart/form-data" method="post">
<fieldset>
<legend>
<%=Resources.Localize.EditFields %></legend>
<div class="editor-label">
<%= Html.LabelFor(model => model.Title, Resources.Localize.Section_Title)%>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.Title) %>
<%= Html.ValidationMessageFor(model => model.Title) %>
</div>
<div class="editor-label">
<%=Resources.Localize.Section_Image%>
</div>
<div class="editor-field">
<input type="file" name="file" id="file" />
</div>
<p>
<input type="submit" value="<%=Resources.Localize.save %>" />
</p>
</fieldset>
</form>
HTH
1
私は個人的に供給されたデータに基づいて、これらの部分的なビューをロードするPartialViewsの使用、およびjQuery Load() functionalityになるだろう。
関連する問題
- 1. テキストフィールドのユーザー入力に基づくチェックボックスを非表示/表示
- 2. ユーザー入力に基づく動的画像出力R
- 3. ユーザー入力に基づくTableauの動的計算
- 4. ユーザー入力に基づくデータベースの結果を表示
- 5. 動的に列を非表示にするユーザーの入力に基づいて
- 6. 角度UIグリッドとユーザー入力に基づく値を表示
- 7. 動的にユーザーの入力に基づいてページを作成する
- 8. ユーザー入力に基づくフィルタピボットテーブル
- 9. ユーザー入力に基づいて外部JavaScriptファイルを動的にロード
- 10. Laravelのユーザー役割に基づくサイドバーとページの表示5.1
- 11. ユーザー入力に基づく表の列の範囲
- 12. ユーザーの入力に基づいて入力フィールドにデータを表示
- 13. ユーザー入力に基づくJavaScriptの乗算表
- 14. ページの内容に基づく自動ウェブページのデータ入力
- 15. ユーザロールに基づく動的なPHPページ
- 16. ajaxリクエストを使用して同じページに部分的に表示
- 17. xmlのユーザ入力に基づく動的ImageViewの数
- 18. OBIEE:ダッシュボードプロンプトの入力に基づく動的ダッシュボードオブジェクトの作成
- 19. MVC - データビューを使用して同じページの複数のフォームを部分的に表示
- 20. ユーザ入力に基づく動的ウェブサイトのコンテンツ
- 21. 部分的なページに基づいて動的にhrefプロパティを設定する
- 22. Tkinter:同じフレームを使用してユーザー入力に基づいてデータを表示する
- 23. asp.net mvcパラメータのページから部分的な表示へ
- 24. ラジオ入力に基づく入力フィールドの検証とエラーメッセージの表示
- 25. ドロップダウン選択に基づくHTML動的入力ボックス
- 26. 部分ビューのアクションに基づくASP.NET MVC Readonlyフィールド
- 27. テキストボックス入力に基づくQRバーコード表示
- 28. 検索入力に基づいてdivを表示/非表示
- 29. シャイニー:ユーザー列の入力に基づいて動的にサブセットされたデータ
- 30. case文に基づくSQLの部分的なSQLの更新?
私にはAjaxのように聞こえます;) –
誰がこれを不快感を抱かせるのかはっきりしていませんが、なぜその理由についてコメントできますか?それは言葉に慣れていないかもしれませんが、「ドライブバイ」の質問かもしれませんが、確かに不快ではありません。 – user7116