0

ASP.net の専門家がここで私を助けてくれることを願っています。これは非常に単純ですが、私が知らないことを知るのに十分長い間、構文をいじっていました。

ページに if ブロックをインライン化したいだけです。リスティングがスポンサー付きの場合、その Web サイトのアドレスを表示したいと考えています。これの構文はどのようになりますか?

//This is what I've been getting at:

    <% if(Eval("Sponsored_Listing")=="Yes") {
         //Then I want to simply write the URL on the page.
         <a href="http://<#% Eval("Website") %>"><%# Eval("Website") %></a>
    else { 
         //Do nothing -- nothing is written to screen.
    }    
%> 

これはプリプロセッサ ディレクティブの問題だと思います。前もって感謝します。

4

2 に答える 2

0

Evalオブジェクトを返すため、文字列にキャストする必要があります。

<%# Eval("Sponsored_Listing").ToString() =="Yes" ? 
    string.Format("<a href=\"http://{0}\">{0}</a>", Eval("Website")) : "" %>

別の考え-ロジックを実行したい場合は、ItemDataBoundメソッドを使用することをお勧めします。より明確になり、強力なタイプをサポートします。

于 2013-05-16T17:33:10.967 に答える
0

これを行う正しい方法は次のとおりです。

 <%if (Eval("Sponsered_Listing") == "Yes")

      { 
      //write the Url

          Response.Write("<a href='Http://" + Eval("WebSite")  + "'>" + Eval("WebSite") + "</a>");

      }

よろしく

于 2013-05-16T17:23:49.547 に答える