• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASP.NET MVCでFancyboxを使いたい)

ASP.NET MVCでFancyboxを使いたい

shockatzの回答

  • shockatz
  • ベストアンサー率80% (153/191)
回答No.2

あ、ちょっとコピペをミスってました。 $('a#hoge').fancybox({ type : 'ajax', // PartialViewを期待 href : 'subpanel'; }); はつまり、 <a id="hoge">Fancyboxで開く</a> ってコードに対応してるって意味です。 バージョンは古いほうのやつで検証。1.3かな? あと、つい今知ったのですが、Fancyboxって商用利用は有償みたいですね。

nayutax
質問者

お礼

shockatz様、本当にありがとうございます! お教えいただいた、type : 'ajax'で、なんの問題もなくPartialViewのレスポンスを fancyboxで開くことができました! 感謝感激です。 fancyboxのようなダイアログを開くタイプのJavaScriptが使えると幅が広がります。 本当に有難うございました! で、ちょっとshockatz様に甘えた質問なのですが、 return View('hoge')でも同じようにダイアログが開いたのですが、何か間違っているでしょうか?

関連するQ&A

  • 【ASP.NET MVC】モデルの作り方

    ASP.NET MVCでのモデルについて、皆様はどのように作成しておられますか? ASP.NET MVCで何本かWebシステムを構築して、いまだに試行錯誤です。 サンプル例を見ても、実際とはかけ離れた簡単な内容で、あまり参考になりません。 自分が見たいくつかのサイトではこのように書いてありました。 ドメインモデル データベースと1:1で存在する入出力用のモデル。EntityFrameworkで定義する。 拡張ドメインモデル ドメインモデルにプロパティを追加したり、複数のモデルを使いやすくまとめたモデル。 ビューモデル 画面表示するためのモデル。 フォームモデル フォーム入力値を受信するためのモデル。 理屈はわかるのですが、このように4種類もモデルを定義するものなのでしょうか? モデル間のデータのやりとりも大変ですし、定義だけで作業量が半端ない感じです。 継承などをうまく使って省力化する方法とかありますか? 皆さまの方法論をお聞きしたくお願い申し上げます。 ASP.NET MVCに限らず、CakePHPなどの例でも歓迎です。

  • asp.net mvcを利用する場合の複数テーブルの扱い方

    お世話になります。 asp.netオフィシャルサイト上のデモを見て、asp.net mvcを使って、アプリを作りたいんですが、DBにテーブルが複数ある場合、複数のテーブルからデータを抽出し、viewに表示する方法が分からなくて困ってます。 ご存知の方いらっしゃらましたら教えてください。 よろしくお願いします。

  • ASP.NET MVCでObjectをjsに渡す

    いつも勉強させてもらっております。 ASP.NET MVC3で、ビューに渡すモデルを用意するのですが、最近javascriptをよく使うので、一発で展開できるようにできないかと思っています。 現在は、いったん起動後、jQueryで、Ajax JSONで取得しています。こちらだとすぐjavascriptのオブジェクトが取得できるので。 javascriptで一発展開というのは例えば、 public class HogeClass {  public string moge { get; set; }  public List<string> fugas { get; set; } } があって、ビューモデルとして public ActionResult HogeAction(){  var hogeObj = new HogeClass();  return View("hoge", hogeObj); } のようにビューへ渡して、 ビューの"hoge.cshtml"内部で、 <script type="text/javascript">  var hogeObj = <%=Model %>; // こんなので通るわけないですよね </script> とかできたらいいなあ、という話です。 いちいち起動のたびにAjaxで読み直すのは速度のこともあるし、気になります。 これまでは全部サーバでやってたのでこんなこと考えなかったんですが、皆さんはどうされてます?

  • ASP.NET Core MVCのルーティング

    ASP.NET Core MVCのルーティングについて質問です。 例えばTESTという画面を作成する際、コントローラーとビューは、 既存のHOMEを参考にし、 ・「Controllers」フォルダ配下に、「TestController.cs」を作成する。 ・「Views」フォルダ配下に、「TEST」というフォルダを作成し、  「Index.cshtml」を作成する。 といういうのが基本だと思います。 ですが上記ではなく、画面ごとにフォルダを作成し、 そのフォルダに「Controllers」フォルダ、「Views」フォルダを作成し、 管理したいと思っています。 あくまで既存のHOMEはそのままにしたいので、 プロジェクト作成後の画面追加分に対してのみフォルダ構成を変えて管理したいです。 ------フォルダ構成イメージ------ Controllers  - HomeController.cs Views  - Home   - Index.cshtml TEST  - Controller   - TestController.cs  - View   - Index.cshtml ------------------------------------------ HomeのIndex.cshtmlから、Testへのページに遷移するためには、 どこでどのようにルーティングを設定すればよろしいのでしょうか?

  • 【ASP.NET MVC】更新アクション

    いつもお世話になっております。 ASP.NET MVCのコントローラで、フォーム送信を受けて動作する更新アクションの作り方について質問させてください。 いろいろな記事やチュートリアルを読んで、なんとか次のような基本計については理解できました。 public class HomeController { [HttpPost] public ActionResult UpdateItem(Item item){  if (! ModelState.IsValid){   TempData["error"] = "入力内容にエラーがあります";   return View("ItemEdit", item);  } else {   var result = false;   //   // 延々と更新メソッドが続く   //   if (result) {     TempData["message"] = "正しく更新できました"     ModelState.Clear();     return Redirect("ItemList");   } else {     TempData["error"] = "更新でエラーが起きました";     return View("ItemEdit", item);   }  } } } TempData["xxx"]の処理は、ビュー側で、値に応じてjQueryUIによりダイアログを表示します。 質問したい箇所は以下の3つです。 ■一体、全体の流れはこれでいいのでしょうか? if文とTempDataばっかりで。。何かスッキリしません。 ■フォーム値の検証はアクション呼び出しの時点で終わっていますが、ここに任意の検証を入れたい場合はどうしたらいいのでしょう? (必須や文字種チェックはモデルで属性設定を行っていますが、それ以外の例えば2項目が連動するような検証) ■サンプルの例文は簡単ですが、DB更新などが伴うと数百行になるため、すごく見通しが悪いです。全部別メソッドにするのも。。いい方法はないでしょうか 不明点だらけですんません(笑 どなたか愛の手を

  • 【ASP.NET MVC3】共通ビュークラス

    いつも大変にお世話になっています。 ASP.NET MVC3で作成しているシステムで、すべてのビューに、共通のプロパティを用意したいと考えております。 以前のASP.NETでは、System.Web.UI.Page を継承したカスタムクラスを継承していました。 public MyCustomPage : System.Web.UI.Page {  // 共通のプロパティやメソッド } public class Index : MyCustomPage {  public page_load(Object o, EventArgs e){ // ページロード処理 } }; このような継承定義をビューのクラスで行いたく思います。 MVC3のビューで、たとえば、MyViewModelというビューモデルを埋め込んだ、以下のようなクラスは、どのやって定義したら良いのでしょう? @inherits MyCustomView<MyViewModel> 土曜の夜だというのに、まだ帰れません(泣 何とぞよろしくお願い致します。

  • 【ASP.NET MVC】フォームヘルパーの是非

    いつも大変にお世話になっています。 今回も例によってASP.NET MVCの質問です。 ASP.NET MVCでは、Htmlヘルパーを使用してビューを記述するのが常識かと思います。 例) @Html.Textbox("name", Model.name) 今回、デザイナが加わる仕事で、完成後にデザイナ側でフォーム訂正が必要になることが予想されます。 またその際、デザイナから「できるだけ独自仕様(Lazorのこと?)のテンプレートを使用しないように」とのお達しがあったため、苦慮しております。 質問です。 Htmlフォームヘルパーを使わずに、純粋なHTML記述を行った場合、どのような支障が考えられますか? 要件: @Html.Textbox("name", Model.name) と書かずに。 <input type="text" id="name" name="name" /> と(HTML展開後の文法で)書く場合の違いを知りたい です。同じ動作をするのでしょうか?また、違いの程度は? です。なにとぞよろしくお願いします。

  • aspからasp.netへの遷移(その逆も)

    拡張子がaspの画面から拡張子がaspxの画面へ遷移することは 不可能なのでしょうか?何か特殊な方法があるのでしょうか? ありましたら教えていただけないでしょうか。 aspx画面でボタン押下時に Response.Redirect("./test1.asp")でasp画面へ遷移させると 以下のエラーとなります。 '/WebSite1' アプリケーションでサーバー エラーが発生しました。 この種類のページは処理できません。 説明: 要求されたページの種類は、明示的に禁止されるため処理されません。拡張子 '.asp' が正しくない可能性があります。 下の URL が正しく入力されていることを確認してください。 要求された URL: /WebSite1/test1.asp バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.1433; ASP.NET バージョン:2.0.50727.1433

  • 【ASP.NET MVC】一覧編集画面

    いつもお世話になります。 ASP.NET MVCを使って構築中のサイトで、また暗礁に乗り上げております。 商品一覧の画面で、一覧表示のままCRUD(追加・更新・削除)するインターフェースを客先から求められております。 一覧表示 → 個別画面でのCRUDはできていますが、画面遷移が面倒ということで却下されました。 ASP.NETでいう、GridViewのようなテイストです。 (各行にテキストボックス・更新ボタン・削除ボタン) モデルはこんな感じです(簡略化してあります。実際にはご教示いただいたカスタム検証もあります) public class Lady {  public int ID { get; set; }  public string name { get; set; }  public int areaID { get; set; }  public int salesAmount { get; set; } } public List<Lady> ladies; 一覧表部分のビューはこんな感じです(細かい点は省略です) @foreach (var lady in Model.ladies){  @using(Html.BeginForm("UpdateLady","Admin")) {   @Html.Hidden("ID", lady.ID)   @Html.TextBox("name", lady.name)   @Html.DropDownList("areaID", new SelectList(model.areas, "areaID","areaName", lady.areaID))   @Html.TextBox("salesAmount",lady.salesAmount)   <!-- 以降不明 -->   <input type="submit" value="更新"/>   <input type="submit" value="削除"/>  } } コントローラ class AdminController {  public EditLady(){   var model = new EditLadyView();   return View("EditLady", model);  }  [HttpPost]  public UpdateLady(Lady lady){   if (ModelState.IsValid){    // 更新    // lady.IDをキーにしてDBを更新   } else {    // 再表示 <!-- ここがわからない -->   }  }  [HttpPost]  public DeleteLady(int ID){   // 削除   // IDをキーにしてDBを削除  } } 質問点は以下の通りです。 ■表示はOKですが、できたhtmlを見ると、各行の項目が同じid / name名になります。これで正しいですか? ■同じForm内に更新ボタンが複数あった場合、formのPOST先を変える必要がありますが、javascriptを使うのでしょうか? ■検証失敗時、全体を再表示するにはどういった方法があるでしょうか? 読み直すと入力した値が消えてしまいます。 会社にMVCの経験者がおらず、苦労しています。 なにとぞお助けください。

  • ASP.Net ObjectDataSource3

    ASP.Net ObjectDataSource2 お世話になります。 ASP.Net 初心者です。日夜修行をしているのですが、難解な壁に当たっております。 DataObjectSource に下記のメソッドを追加しました。 グリッドビューを配置してあるWebフォームがあり、 そこにあるDataObjectSourceのSELECTのメソッドを下記のモノに変更しました。 フォームにボタンを追加し、このボタンを押すと、下記が実行されグリッドビューの内容が変更されるようにしたいのですが、どうしても下記のメソッドを呼び出せないのです。 そのまま Call GetMstTokDataSet2(SQL) と呼び出しても 'GetMstTokDataSet2' は宣言されていません。アクセスできない保護レベルになっています。 と表示されてしまいます。 TableAdapter や、DataTable、Class などを初めに記述して、IntelliSense にてその次の候補に関数名が出るわけでもなく、ボタンの  Protected Sub Button1_Click から下記のメソッドをどう呼び出してよいのかがわかりません。 本当に基本的な事だと思うのですが、本当にわからないのです。 何卒よろしくお願いいたします。 (App_Code¥MstTok_ODS.vb に記述してあります) (MstTokDataSet.xsd) ------------------------------------------------------------------- Namespace MstTokDataSetTableAdapters   Partial Public Class t_MstTokTableAdapter     ’問題のメソッド     <DataObjectMethod(DataObjectMethodType.Select, False)> _     Public Function GetMstTokDataSet2(ByVal SQL As String) As DataSet       プログラムが記述してあります。     End Function   End Class End Namespace -------------------------------------------------------------------