ClickOnce 发送参数不起作用
ClickOnce sending parameter is not working
我想将参数发送到 ClickOnce 并在 WinForm 中显示 Label
。
我认为所有设置都是正确的。
This is my ClickOnce settings
localhost ClickOnce look like
有什么问题吗?我没有找到关于这种情况的任何解决方案。如何将参数发送到 ClickOnce?
您应该使用 QueryString
传递参数。
然后在应用程序中,尝试读取查询字符串。为此,您应该使用像 http://servername/WindowsApp1.application?username=joeuser
这样的 link 打开应用程序。然后您可以在您的应用程序中获取这些值并在您的表单中使用它们。
为此,请将 System.Web
引用添加到您的应用程序,然后在您的 Program
class 中使用以下 属性 并在任何地方使用 Program.QueryString
需要:
private static NameValueCollection queryString;
public static NameValueCollection QueryString
{
get
{
if (queryString == null)
{
NameValueCollection nameValueTable = new NameValueCollection();
if (ApplicationDeployment.IsNetworkDeployed)
{
var q = ApplicationDeployment.CurrentDeployment.ActivationUri.Query;
nameValueTable = HttpUtility.ParseQueryString(q);
}
queryString = nameValueTable;
}
return queryString;
}
}
注:
您应确保已在发布选项中将 允许 URL 参数传递给应用程序 设置为 true。 (截图显示您设置正确。)
要了解更多信息,请查看 How to: Retrieve Query String Information in an Online ClickOnce Application
我想将参数发送到 ClickOnce 并在 WinForm 中显示 Label
。
我认为所有设置都是正确的。
This is my ClickOnce settings
localhost ClickOnce look like
有什么问题吗?我没有找到关于这种情况的任何解决方案。如何将参数发送到 ClickOnce?
您应该使用 QueryString
传递参数。
然后在应用程序中,尝试读取查询字符串。为此,您应该使用像 http://servername/WindowsApp1.application?username=joeuser
这样的 link 打开应用程序。然后您可以在您的应用程序中获取这些值并在您的表单中使用它们。
为此,请将 System.Web
引用添加到您的应用程序,然后在您的 Program
class 中使用以下 属性 并在任何地方使用 Program.QueryString
需要:
private static NameValueCollection queryString;
public static NameValueCollection QueryString
{
get
{
if (queryString == null)
{
NameValueCollection nameValueTable = new NameValueCollection();
if (ApplicationDeployment.IsNetworkDeployed)
{
var q = ApplicationDeployment.CurrentDeployment.ActivationUri.Query;
nameValueTable = HttpUtility.ParseQueryString(q);
}
queryString = nameValueTable;
}
return queryString;
}
}
注:
您应确保已在发布选项中将 允许 URL 参数传递给应用程序 设置为 true。 (截图显示您设置正确。)
要了解更多信息,请查看 How to: Retrieve Query String Information in an Online ClickOnce Application