0

VB バックエンドで ASP Web アプリケーションを作成しています。私がやりたいのは、URL を生成し、これをページ上のコントロールに表示することです。たとえば、フォームにラベルとボタンがあるとします。ラベルは空白です。ボタンがクリックされると、次のコードが起動します。

 Protected Sub btnGenerate_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGenerate.Click
    label1.Text = "Hello"
End Sub

私が欲しいのは、ラベルに「Hello」という単語が含まれる ASP ページを指す URL です。これは可能ですか?

4

2 に答える 2

2

次のことができます。

{siteaddress}/aspxpage.aspx?label=hello

次に、aspxページで次のようにします:

<asp:label runat="server" id="yourLabelId" text='<%=Request.QueryString("label")%>' />

または Page_Load で:

yourLabelId.Text = Request.QueryString("label")

ページにデータを書き込む前に、データを検証することをお勧めします。

于 2012-05-25T05:05:55.457 に答える
1

クエリ文字列でテキストを渡します。たとえば、ページの相対パスが /pagename.aspx であると仮定すると、以下の例に従ってクエリ文字列を渡すことができます。

/pagename.aspx?text=hello

C# では、Page_Load イベントに次のコードを記述します。

//You don't have to check the url all the time , so just check it if page is not posting back (first time after user visits the page and ignore all other same page post backs. Label can maintain its control state (text value) after every postback, so assign it only once to increase performance
if (!IsPostBack)
{
    //Check if query string is provided or not , if it is not provided take some default text, I am taking empty string as default text.
    string givenText = (Request.QueryString["text"] == null)?"":Request.QueryString["text"];
    label1.Text = givenText;
}

クエリ文字列とデフォルト テキストで指定されたテキストのプロパティを作成することもできます。

于 2012-05-25T05:14:16.543 に答える