我有一个如下所示的网址: 由于合同原因,网址被取消
WebClient webClient = new WebClient();
Uri uri = new Uri("http://www.URLhere.aspx?stopid=4556");
webClient.OpenReadCompleted += new OpenReadCompletedEventHandler
(webClient_OpenReadCompleted);
webClient.OpenReadAsync(uri);
我需要找到一种方法来改变结尾部分,所以将4556从文本块更改为另一个文本,这样当应用程序发送请求时它会找到整个部分。
我以为你可以这样做:
WebClient webClient = new WebClient();
Uri uri = new Uri("http://www.URLhere.aspx?stopid=" + stopId);
webClient.OpenReadCompleted += new OpenReadCompletedEventHandler
(webClient_OpenReadCompleted);
webClient.OpenReadAsync(uri);
如何做到这一点?
编辑: 当我执行上面的代码时,它返回作为空引用,所以我认为它没有得到文本框中的文本。
答案 0 :(得分:1)
听起来你错过了变量的编码。
var myvar = "the simpsons";
Uri myUri = new Uri("http://www.URLhere.aspx?stopid=" + HttpUtility.UrlEncode(myvar));
答案 1 :(得分:0)
之间没有区别
Uri uri = new Uri("http://www.URLhere.aspx?stopid=4556");
和
Uri uri = new Uri("http://www.URLhere.aspx?stopid=" + stopId);
所以我真的不知道你的问题是什么
答案 2 :(得分:0)
亨利 如果我理解你的问题是正确的,我想你想把TextBox(而不是TextBlock)中的值附加到URI。如果这是正确的并且你正在使用MVVM,你可以将TextBox绑定到ViewModel上的公共属性(让我们称之为TextBoxProp)
private string _textBoxProp;
public string TextBoxProp
{
get{return _textBoxProp;}
set
{
_textBoxProp = value;
RaisePropertyChanged("TextBoxProp");
}
}
然后按如下方式创建URI:
Uri uri = new Uri(String.Format("http://www.URLhere.aspx?stopid={0}", TextBoxProp));
确保在XAML中绑定到属性时将模式设置为TwoWay。 我希望有帮助