1

だから私がしたいのは、ボタンがクリックされたときにラベルからテキストを抽出することです。私がこれまでに得たものは次のとおりです。

    <asp:Label ID="lbl_carID" runat="server" Text="Label"></asp:Label>
    <asp:Label ID="lbl_ownerID" runat="server" Text="Label"></asp:Label>

    <asp:Button ID="btn_wishList" runat="server" Text="Add to wish list"  CssClass="btn" CommandArgument='<%= lbl_carID.Text.ToString() %>' OnCommand="btn_wishList_Command" />
    <asp:Button ID="btn_offer" runat="server" Text="Make Offer" CssClass="btn" CommandArgument='<%= lbl_ownerID.Text.ToString() %>' OnCommand="btn_offer_Command" />

ToString()メソッドなしでも試しましたが、うまくいきません。また、=後なしで試してみました%。私はコード挿入が初めてなので、それは本当に小さなことだと思いますが、うまくいきません。助言がありますか ?

編集: これはコード ビハインドbtn_offer_commandです。どちらのコマンドも最初は同じなので、短いコードを投稿しています。

protected void btn_offer_Command(object sender, CommandEventArgs e)
    {
        string id = (string)e.CommandArgument;
        Session["ownerToBeOffered"] = id;
        Response.Redirect("LoggedInFeatures/MakeOffer.aspx");
    }
4

2 に答える 2

0

コードのどこかに配置します

[ExpressionPrefix("Code")]
public class CodeExpressionBuilder : ExpressionBuilder
{
    public override CodeExpression GetCodeExpression(BoundPropertyEntry entry,
       object parsedData, ExpressionBuilderContext context)
    {
        return new CodeSnippetExpression(entry.Expression);
    }
}

コンパイルセクションの下のweb.configに登録します

<compilation debug="true" targetFramework="4.5.1" >
  <expressionBuilders>
    <add expressionPrefix="Code" type="WebApplication2.CodeExpressionBuilder"/>
  </expressionBuilders>
</compilation>

これで、次の構築によって期待されるように、その時点で任意のコードを評価できるようになります

 <asp:Button ID="btn_offer" runat="server" Text="Make Offer" CssClass="btn" CommandArgument='<%$ Code: lbl_ownerID.Text %>' OnCommand="btn_offer_Command" />
于 2015-05-06T20:22:28.410 に答える