タグ付けされた質問 「razor」

Razorは、ASP.NET WebページとASP.NET MVC(バージョン3以降)で使用されるテンプレート言語です。HTML生成の上に抽象化のレイヤーを追加します。HTMLマークアップとC#またはVBコード間のシームレスな移行をサポートします。マークアップとコード間の遷移は、「@」記号で示されます。

7
Razor View Engine:式ツリーに動的操作が含まれていない可能性があります
私はこれに似たモデルを持っています: public class SampleModel { public Product Product { get; set; } } そして、私のコントローラーでは、印刷しようとすると例外が発生します @Html.TextBoxFor(p => p.Product.Name) これはエラーです: Exception: An expression tree may not contain a dynamic operation 誰かがこれを修正する方法についていくつかの手掛かりを私に与えることができるならば、私は本当にそれを感謝します!

7
RazorとJavaScriptコードを組み合わせる
私はかみそりとjsを混合する方法とかなり混乱しています。これは私が行き詰まっている現在の機能です: <script type="text/javascript"> var data = []; @foreach (var r in Model.rows) { data.push([ @r.UnixTime * 1000, @r.Value ]); } 私がc#コードを宣言でき<c#></c#>、他のすべてがJSコードである場合-これは私が求めているものです: <script type="text/javascript"> var data = []; <c#>@foreach (var r in Model.rows) {</c#> data.push([ <c#>@r.UnixTime</c#> * 1000, <c#>@r.Value</c#> ]); <c#>}</c#> これを達成するための最良の方法は何ですか?
172 c#  javascript  razor 

5
MVCとRazorのHtml.TextboxForとHtml.EditorForの違い
新しい「編集」ビューを追加すると、なぜデフォルトでこれらが変更されたのですか?使用する際の利点は何ですかEditorFor()対をTextboxFor()? 私はこれを見つけました デフォルトで、CreateおよびEdit足場は、Html.TextBoxForヘルパーの代わりにHtml.EditorForヘルパーを使用するようになりました。これにより、[ビューの追加]ダイアログボックスがビューを生成するときに、データアノテーション属性の形式でモデルのメタデータのサポートが向上します。

8
Razor HtmlHelper Extensions(またはビューの他の名前空間)が見つかりません
これがPRまたはベータ版で発生した場合はDunnoですが、で拡張メソッドを作成した場合HtmlHelper、Razorベースのページでは認識されません。 namespace SomeNamespace.Extensions { public static class HtmlExtensions { public static string Foo(this HtmlHelper html) { return "Foo"; } } } の<Namespaces>セクションに追加しましたWeb.config: <pages> <namespaces> <add namespace="System.Web.Mvc" /> <!-- snip --> <add namespace="SomeNamespace.Extensions"/> </namespaces> </pages> しかし、ページを表示しようとすると、コンパイルエラーがスローされます。 @Html.Foo() WebFormsを使用してページを再作成すると、正常に機能します。どうしたんだ? 回避策 @using SomeNamespace.Extensions私がRazorビューに含めた場合、それは機能しますが、私はむしろそれを持っているだけですWeb.config


1
_viewstart.cshtmlと部分的なRazorビューの正しい使い方は?
同じRazorレイアウトを自動的に割り当てるために_viewstart.cshtmlを使用していますをビューにています。 これは、Viewsフォルダーのルートにある次のような単純なファイルです。 @{ Layout = "~/Views/Shared/_Layout.cshtml"; } これは、@ Layoutディレクティブをすべての単一のビューに追加するよりも乾燥しています。 ただし、これはRazor パーシャルの問題を引き起こしますビューは_viewstart.cshtmlのコンテンツを実行し、レイアウトを誤って割り当てるため、ビューがビューではなくなるため引き起こします。 以下は架空のプロジェクトで、_viewstart.cshtmlファイル、共有_layout.shtmlファイル、および部分ビュー( "AnonBar.cshtml")を示しています。 現在、これを回避する方法は、すべての部分ビューに次の行を追加することです。 @{ Layout = ""; } これは、Razorでビューをパーシャルとして表すのに間違った方法のようです。(Webフォームビューエンジンとは異なり、ファイル拡張子は部分ビューでも同じです。) 私が検討した他のオプションですが、それはさらに悪いです: すべての部分ビューを共通のフォルダーに入れて、共通の_viewstart.cshtmlを共有できるようにします。これは、ビューがコントローラーと同じフォルダーにあるという規則を破ります。 部分ビューを使用しません。 これは、Razorビューエンジンチームによってまだ具体化されているものですか、それとも基本的な概念が欠けていますか?

4
使い方 ?:Razorおよびインラインコードブロックを含むifステートメント
新しいRazoreビューエンジンで古い.aspxビューを更新しています。私はこのようなコードがある場所がたくさんあります: <span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span> 理想的にはこれを行いたいです: <span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span> ただし、ここには2つの問題があります。 vote-up@{puzzle.UserVote .... @記号をコードブロックの開始として扱いません @puzzle.UserVote == VoteType.Up@puzzle.UserVote変数の値をレンダリングすることになっているように最初の部分を調べます。 誰もがこれらの問題に対処する方法を知っていますか?

7
MVC 3:Ajax経由で読み込まれたときに、レイアウトページなしでビューをレンダリングする方法
プログレッシブエンハンスメントについて学び、AJAX化の見解について質問があります。MVC 3プロジェクトには、レイアウトページ、ビュースタートページ、2つのプレーンビューがあります。 viewstartページはViewsフォルダーのルートにあるため、すべてのビューに適用されます。すべてのビューが_Layout.cshtmlレイアウトページに使用する必要があることを指定します。レイアウトページには、各ビューに1つずつ、合計2つのナビゲーションリンクが含まれています。リンクは@Html.ActionLink()、ページへのレンダリングに使用されます。 今私はjQueryを追加し、これらのリンクを乗っ取り、Ajaxを使用してページにコンテンツを動的にロードしたいと考えています。 <script type="text/javascript"> $(function () { $('#theLink').click(function () { $.ajax({ url: $(this).attr('href'), type: "GET", success: function (response) { $('#mainContent').html(response); } }); return false; }); }); </script> これを行うには、2つの方法が考えられますが、どちらも特に好きではありません。 1)ビューのコンテンツ全体を取得して、それらを部分ビューに配置し、レンダリングされたときにメインビューに部分ビューを呼び出させることができます。こうすることRequest.IsAjaxRequest()で、コントローラーで使用して、要求がAjax要求であるかどうかに基づいて戻るView()か戻ることができPartialView()ます。Ajaxリクエストに通常のビューを返すことはできません。それは、レイアウトページを使用し、レイアウトページの2番目のコピーが挿入されるためです。ただし、@{Html.RenderPartial();}標準のGETリクエストでは、aのみを含む空のビューを作成する必要があるため、これは好きではありません。 public ActionResult Index() { if (Request.IsAjaxRequest()) return PartialView("partialView"); else return View(); } 次に、Index.cshtmlで次のようにします。 @{Html.RenderPartial("partialView");} 2)_viewstartからレイアウト指定を削除し、リクエストがAjaxでない場合は手動で指定できます。 public ActionResult Index() { …

3
Razorを使用して、エンコードされていないJsonをビューに書き込むにはどうすればよいですか?
次のように、Razorを使用してオブジェクトをJSONとしてAsp.Net MVCビューに書き込もうとしています。 <script type="text/javascript"> var potentialAttendees = @Json.Encode(Model.PotentialAttendees); </script> 問題は、出力でJSONがエンコードされ、ブラウザがそれを気に入らないことです。例えば: <script type="text/javascript"> var potentialAttendees = [{"Name":"Samuel Jack"},]; </script> RazorにエンコードされていないJSONを出力させるにはどうすればよいですか?
153 asp.net-mvc  json  razor 

4
mvc 4で部分ビューにパラメーターを渡す方法
私はこのようなリンクを持っています: <a href='Member/MemberHome/Profile/Id'><span>Profile</span></a> これをクリックすると、この部分ページが呼び出されます。 @{ switch ((string)ViewBag.Details) { case "Profile": { @Html.Partial("_Profile"); break; } } } 部分ページ_Profileに含まれるもの: Html.Action("Action", "Controller", model.Paramter) 例: @Html.Action("MemberProfile", "Member", new { id=1 }) // id is always changing 私の疑問は、この「Id」をmodel.parameterパーツにどのように渡すことができるかということです。 私のコントローラーは: public ActionResult MemberHome(string id) { ViewBag.Details = id; return View(); } public ActionResult MemberProfile(int id = …

4
かみそりMVC 4で条件付き値を持つ2番目のCSSクラスを追加する方法
Microsoft がかみそりMVC4 でHTML属性のオートマジックレンダリングを作成しましたが、条件付きかみそり式に基づいて、要素に2番目のCSSクラスをレンダリングする方法を見つけるのにかなりの時間がかかりました。共有したいと思います。 モデルプロパティ@ Model.Detailsに基づいて、リストアイテムを表示または非表示にします。詳細がある場合はdivを表示し、それ以外の場合は非表示にする必要があります。jQueryを使用して、クラスshowまたはhideをそれぞれ追加するだけで済みます。他の目的のために、「詳細」という別のクラスも追加したいと思います。だから、私のマークアップは: <div class="details show">[Details]</div> または <div class="details hide">[Details]</div> 以下に、失敗した試行の一部を示します(詳細がないと仮定した結果のマークアップ)。 これ:<div @(@Model.Details.Count > 0 ? "class=details show" : "class=details hide")>、 これをレンダリングします:<div class="details" hide="">。 これ:<div @(@Model.Details.Count > 0 ? "class=\"details show\"" : "class=\"details hide\"")>。 これをレンダリングします:<div class=""details" hide"="">。 この: <div @(@Model.Details.Count > 0 ? "class='details show'" : "class='details hide'")> …

5
@using宣言の代わりにRazorページに追加の名前空間を追加するにはどうすればよいですか?
pages/namespaceswebconfigの要素の名前空間を取得するために使用する必要がある魔法のようなものはありますか? <pages> <namespaces> <add namespace="System.Web.Mvc"/> <add namespace="System.Web.Mvc.Ajax"/> <add namespace="System.Web.Mvc.Html"/> <add namespace="System.Web.Routing"/> <add namespace="System.Web.WebPages"/> <add namespace="System.Web.Helpers"/> <add namespace="MyCustomHelpers"/> </namespaces> </pages> 上記は動作したくないだけです。名前空間は@using MyCustomHelpers、ページの上部に配置すると魔法のように機能するため、問題ありません。 これにより、すべてのページの上部Html.SomeFunction()に配置@usingしなくてもを機能させることができます


5
Razor _layout.cshtmlにファイル名の先頭にアンダースコアがあるのはなぜですか?
デフォルトのASP.NET MVC 3プロジェクトでは、レイアウトと一部のcshtmlファイルはアンダースコアで始まります _viewstart _Layout _LogOnPartial なぜこの規則、そしてこれは何のために使われるのですか?この規則に従う必要がありますか? フレームワーク.cshtmlは、アンダースコアで始まるファイルに特別な意味を与えますか?

12
Razorを使用したMVC 4のDropDownList
DropDownListかみそりのビューを作成しようとしています。 誰かがこれを手伝ってくれませんか? 通常のHTML5コード: <select id="dropdowntipo"> <option value="Exemplo1">Exemplo1</option> <option value="Exemplo2">Exemplo2</option> <option value="Exemplo3">Exemplo3</option> </select> 私はこれを試しました: @{ var listItems = new List<ListItem> { new ListItem { Text = "Exemplo1", Value = "Exemplo1" }, new ListItem { Text = "Exemplo2", Value = "Exemplo2" }, new ListItem { Text = "Exemplo3", Value = "Exemplo3" } …
142 c#  asp.net-mvc  razor 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.