roemel
roemel

Reputation: 3297

Textbox value in other textbox by clicking button not correct

This program have a link which is fixed and never change. And it contains 5 textboxes. The fixed link is:

<seite>utm_source=<website>_<page>_de&utm_medium=banner&utm_campaign=<kampagne>&utm_content=<format>

Every value in <> should be changed by textbox value. Here you got an image of my little program:

enter image description here

Now my problem is: the first value is correct, but the other values aren't. So for example, if i type in second texbox: "website" it does not only replace <website> with "website". it replaced <website> with System.Windows.Forms.TextBox, Text: website.

My Code I tried:

private void btn_SendAll_Click(object sender, EventArgs e)
        {
            txt_FinishLink.Text = txt_Site.Text + "utm_source=" + txt_Website + "_" + txt_Page + "_de&utm_medium=banner&utm_campaign=" + txt_Campaign + "&utm_content=" + txt_Format;
        }

Upvotes: 0

Views: 95

Answers (2)

weston
weston

Reputation: 54781

private void btn_SendAll_Click(object sender, EventArgs e)
{
    txt_FinishLink.Text = txt_Site.Text + "utm_source=" +
                          txt_Website.Text + "_" +
                          txt_Page.Text + "_de&utm_medium=banner&utm_campaign=" +
                          txt_Campaign.Text + "&utm_content=" +
                          txt_Format.Text;
}

Look at string.Format though, it makes it much easier to see the format of the new url:

private void btn_SendAll_Click(object sender, EventArgs e)
{
    txt_FinishLink.Text = string.Format(
            "{0}utm_source={1}_{2}_de&utm_medium=banner&utm_campaign={3}&utm_content={4}",
             txt_Site.Text, //{0}
             txt_Website.Text,  //{1} etc.
             txt_Page.Text,
             txt_Campaign.Text,
             txt_Format.Text);

}

Then you may want to consider encoding the text before placing in the URL, see this answer https://stackoverflow.com/a/16894322/360211

Upvotes: 1

Tim
Tim

Reputation: 28520

As pointed out in the comments, the Text property of the TextBox needed to be used:

txt_FinishLink.Text = txt_Site.Text + "utm_source=" + txt_Website.Text + "_" + txt_Page.Text + "_de&utm_medium=banner&utm_campaign=" + txt_Campaign.Text + "&utm_content=" + txt_Format.Text

Text will return the string of characters in the specified TextBox.

Upvotes: 1

Related Questions