3

かみそりのひもを持っています

 @postername.Substring(0, @postername.IndexOf("@"))

ユーザー名に電子メールが含まれている場合、@記号の前にユーザー名を取得しますが、ユーザー名に電子メールが含まれていない場合、その単語全体を取得したいのですが、どうすればよいですか?

 if(@postername.Contains("@")){
             @postername.Substring(0, @postername.IndexOf("@"))
            }else{
            @postername
            }

しかしうまくいきませんでした、助けてください

4

2 に答える 2

10

ビュー レベルでこれを行う必要がある場合は、最初にロジックを変数に組み込みます。

@{

 string posternameShort = postername;

 if(postername.Contains("@")){
     posternameShort = postername.Substring(0, postername.IndexOf("@"))
 }

}

次に、新しい変数を呼び出します。

@posternameShort
于 2012-12-17T14:43:35.187 に答える
0

これをさらに明確にするために、Razor 関数 ({との間のコード ブロックに表示されるもの})はC# コードを完全にサポートします。さらに、Visual Basic コードもサポートされています。

これは強力です。C# または Visual Basic で発生する文字列操作は、Razor コードでも使用できます。

詳細については、こちらこちらをご覧ください。

Curt の回答はこれを行うための基本的な方法の概要を示していますが、特に Razor で文字列を自分で操作する方法を調べていたので、「方法」の背後にある「理由」を説明するとよいと思いました。

于 2015-02-17T15:13:45.893 に答える