1

私はMVCを始めたばかりで、jquery-mobileとのmvcの相互作用のためのサンプルの概念実証ページを作成しようとしています。私はこれについての答えを探しましたが、適切なクエリを作成するのに十分な知識がまだないと思います。

私の見解では、私はこのように機能する出力を生成しようとしています(jqmデモサイトからサンプリング):

        <ul data-role="listview" data-inset="true">
        <li><a href="index.html">
            <h3>Stephen Weber</h3>
            <p><strong>You've been invited to a meeting at Filament Group in Boston, MA</strong></p>
            <p>Hey Stephen, if you're available at 10am tomorrow, we've got a meeting with the jQuery team.</p>
            <p class="ui-li-aside"><strong>6:24</strong>PM</p>
        </a></li>
        <li><a href="index.html">
            <h3>jQuery Team</h3>
            <p><strong>Boston Conference Planning</strong></p>
            <p>In preparation for the upcoming conference in Boston, we need to start gathering a list of sponsors and speakers.</p>
            <p class="ui-li-aside"><strong>9:18</strong>AM</p>
        </a></li>
    </ul>

だから、私はそれをこのように働いています:

@foreach (var item in Model) {
    <li>
          @Html.ActionLink( LargeExpandedMultiContentText, "Edit", new { id = item.SysID })
        </li>
}

簡単な質問方法がわからない私の質問は、MVC用語で、ActionLink()によって生成されたhrefがjqmWebサイトからサンプリングしたスタイルと一致するように変数をどのように入力するかです。

私はこれを試しましたが、ほとんど機能しますが、特に「スティーブン・ウェーバー」やその他の文字列をアイテム/モデルから引き出す場所に到達したときは、「正しい」方法ではないと確信しています...さらにテキストをエンコードしますが、それを簡単に処理する方法があると確信しています。

@foreach (var item in Model) {
    <li>
        @{ String txt =  "<h3>Stephen Weber</h3><p><strong>You've been invited to a meeting at Filament Group in Boston, MA</strong></p><p>Hey Stephen, if you're available at 10am tomorrow, we've got a meeting with the jQuery team.</p>         <p class=\"ui-li-aside\"><strong>6:24</strong>PM</p>";
        }
        @Html.ActionLink( txt, "Edit", new { id = item.SysID })
    </li>
}

ありがとう、私はあなたの助けに感謝します

ブライアン

4

2 に答える 2

1

Html.ActionLinkこのような複雑なアクションリンクを構築するために使用できるかどうかはわかりません。とは言うものの、Htmlヘルパーは、一般的に必要とされる方法でHTMLをレンダリングするためのショートカットを提供することにより、あなたの生活を楽にするヘルパー関数であると想定されています。それらを使用する必要はありません。Url.Actionこの場合、代わりに通常のhtmlタグを使用し、正しいURLを作成する必要があると思います。

この情報を列挙可能なモデルに含めたい場合は、おそらく次のようにします。

@foreach (var item in Model) {
    <li><a href="@Url.Action(item.Action)">
        <h3>@item.Name</h3>
        <p><strong>@item.Title</strong></p>
        <p>@item.Message</p>
        <p class="ui-li-aside"><strong>@item.Time</strong>@item.TimePeriod</p>
    </a></li>
}

注:コンテンツをエンコードせずに表示するために探していた関数は@Html.Raw

于 2012-04-29T21:53:46.157 に答える
0

私の他の「半分の質問」に答えて、私はこのリソースを見つけました...

http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx

一番下にある「かみそりの代理人」のアイテムは、私が持っていたニーズに合うと思います。

@{
  Func<dynamic, object> b = 
   @<strong>@item</strong>;
}

@b("Bold this")
于 2012-05-02T19:15:32.750 に答える