2

いくつかのプロパティ値を送信する必要があるURLが1つあります。以下のような私の財産

 public string MyValue
        {
            get { return MyValue; }
            set { MyValue = value; }
        }

ここで、この値をパラメーターとしてjavascriptのwindow.openメソッドのURLに送信します。

window.open("../SearchPage/MySearch.aspx?MyValue=","left=20,top=20,width=500,height=500") のようなJavaScriptでアクセスしようとしました '<%= MyValue %>"

しかし、これは来ていません。パーサーエラーが発生しています。これを達成する方法は?

4

2 に答える 2

2

JavaScript が別のファイルにある場合、<%= %>そこで変数を定義するために使用することはできませhidden fields, cookiesん。

しかし、jsをaspxページに入れることができれば、うまくいくはずです

<head runat="server">
    <title></title>
    <script type="text/javascript">
        alert('<%= MyProperty %>');
    </script>
</head>

これは、MyProperty が aspx ページのパブリック文字列プロパティである場合に機能します。引用符を正しく配置してください。

編集

これが私のページです

public partial class WebForm1 : System.Web.UI.Page
{
    public string MyProperty { get; set; }
    protected void Page_Load(object sender, EventArgs e)
    {
        MyProperty = "aaaaaaaaa";
    }
}

編集

ところで

public string MyValue
{
    get { return MyValue; }
    set { MyValue = value; }
}

セットで StackOverflowException が発生することはありません。値を格納するためのプライベート変数を作成する必要があります:)

private string _myValue;
public string MyValue
{
    get { return _myValue; }
    set { _myValue = value; }
}
于 2012-11-29T11:31:30.283 に答える
0

@Mihir: '<%= MyValue %>" を使用しましたが、これは最初に一重引用符があります。最初と最後に二重引用符を使用してください。

これを試してください: "<%= MyValue %>" .

おそらくうまくいくでしょう。

スクリーンフィールドを使用して、あるページから別のページに値を送信することもできます。

于 2012-11-29T11:49:12.033 に答える