マスターページにリンク要素があります。この要素は最初は見えません。 コンテンツページのいずれかで特定のアクションが発生したら、そのLink要素を表示する必要があります。 私はこれをどうやって行うことができるかを考えています。私はコントローラメソッドからそれを行うことはできますか、それともajax経由で行う必要がありますか?これを見つけたコンテンツページのアクションに基づいてマスターページの要素を変更する
答えて
mvcでUIを操作するには、javascriptを使用する必要があります。あなたの「特定のアクションが」サーバーに関与している場合、私はあなたがajaxを使用する必要があると思う:あなたはアクションだけクライアントに関与している場合
が$.ajax({
url: "yourController/yourAction",
dataType: 'json',
success: function(json){
var domEl = document.getElementById('theIdOfyourLink');
if(json.show){
domEl.style.display = 'block';
}else{
domEl.style.display = 'none';
}
}
});
あなただけのJavaScriptを使用することができます。あなたがあなたのリンク見えるかどうかにするために、CSSで遊んことができます終わり:
var yourfun = function(show){
var domEl = document.getElementById('theIdOfyourLink');
if(show){
domEl.style.display = 'block';
}else{
domEl.style.display = 'none';
}
}
あなたのコメントに対するコメントを追加しました。あなたpleaeは一見を取ることができ、私はより良いアプローチになる可能性があることを教えてください – imak
、役立つかもしれません。 後ろのコードから、コントロールを見つけてキャストして操作するだけです。
Panel pnlWelcome2 = this.Master.FindControl( "pnlWelcome")as Panel;
*初回ポスター、間違っていたらごめんなさい。
これはMVCでウェブフォームではないことを覚えておいてください。 – imak
1つのオプションはTempDataをかのViewDataを使用することです。お使いのコントローラであなたの「特定のアクションは、」次に
public ActionResult MyCertainAction()
{
TempData["ShowLink"] = true;
}
ようなことができ
、あなたマスターページには、以下の
@if (TempData["ShowLink"] != null && (bool)TempData["ShowLink"])
{
<a href="#">My link</a>
}
- 1. cultureに基づいてASP.NET MVCマスターページを変更します。
- 2. 要素の内容を変更する要素名に基づくXSLT
- 3. Javascriptブラウザの高さに基づく要素のサイズ変更
- 4. 別の要素のカーソル位置に基づいて要素を回転する
- 5. data.tableグループの最後の要素を条件に基づいて更新する
- 6. インデックスに基づいてシーケンスの要素をフィルタリングするには
- 7. マスターページのaspnetFormのアクション属性を動的に変更する
- 8. ASP.NETマスターページでの更新パネル、私はマスターページの更新パネルを持っているコンテンツページ
- 9. リロードのみマスターページ内のコンテンツページ
- 10. selectlyputに基づいてグラフのy変数を変更する
- 11. デザインモードでは、マスターページを変更した後にコンテンツページを更新できますか?
- 12. jQuery .mouseleave()の動作を、カーソルが*に移動する要素に基づいて変更する方法は?*?
- 13. ユーザの要求に基づいてサブクラス内のself.variablesの数を変更する
- 14. マスターページとコンテンツページとjquery
- 15. フィルタに基づいて要素を非表示にする
- 16. コンテンツページのマスターページからSetFocusテキストボックス
- 17. 1つの要素の変更イベントに基づいて複数のイベントをトリガする - jQuery
- 18. マスターページからコンテンツページを更新するには?
- 19. previousElementSiblingに基づいて要素を除外する
- 20. 2つの要素に基づいて2dのarraylistをソート
- 21. 言語変更後のマスターページでコンテンツページを翻訳する方法(ASP.NET)
- 22. ウィンドウのバージョンに基づいてコントロールのビジュアルスタイルを変更する
- 23. Rails 3のサブドメインに基づいて要求フォーマットを変更する
- 24. jsp要素を他の要素に基づいて非表示/非表示
- 25. CakePHPのビューに基づいてレイアウト要素を読み込む
- 26. 不透明度に基づいて要素のvisibillityを確認
- 27. GUI:コンボボックスの値に基づいてパネルを変更する
- 28. CSSスタイルのバインディングに基づいてaria-labelを変更する
- 29. 現在の `filetype`に基づいて` filetype`を変更する
- 30. linuxの変更日に基づいてファイルをコピーする
を持つことができ、「特定のアクションは、」サーバーに関与する行為でありますまたはクライアントのみ? – Galled
したがって、コンテンツページはコントローラ上のメソッドを呼び出します。このコントローラーには、マスターページのリンクを表示するかどうかを決定するロジックがあります。 – imak
はい、私はあなたのアクションがブール値のパラメータを持つjsonや何かを返すと思いますが、あなたが 'success'パラメータを使って呼び出す関数で(もしあなたがajaxを使っている場合)、ブール結果を渡して、 javascript。 – Galled