Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
超链接/URL字符串中的ASP.NET变量_Asp.net_Variables - Fatal编程技术网

超链接/URL字符串中的ASP.NET变量

超链接/URL字符串中的ASP.NET变量,asp.net,variables,Asp.net,Variables,我正在尝试修改bvcommerce order manager以链接到列出的项目,以便我们的员工可以通过单击链接更轻松地填写订单,将他们带到项目页面,而不必手动搜索 我在原始asp:标签代码周围包装了一个asp:超链接,如下所示: <asp:TemplateField HeaderText="SKU"> <ItemTemplate> <asp:Hyperlink NavigateUrl=

我正在尝试修改bvcommerce order manager以链接到列出的项目,以便我们的员工可以通过单击链接更轻松地填写订单,将他们带到项目页面,而不必手动搜索

我在原始asp:标签代码周围包装了一个asp:超链接,如下所示:

            <asp:TemplateField HeaderText="SKU">
            <ItemTemplate>
                <asp:Hyperlink NavigateUrl='/product/SKUFIELDHERE.aspx' runat="server"><asp:Label ID="SKUField" runat="server"></asp:Label></asp:Hyperlink>
            </ItemTemplate>
        </asp:TemplateField>
因此,请告诉我如何尽可能少地这样做,最好是不修改后面

多谢各位

编辑: 如下面的评论所示,我现在尝试添加:

Dim SKULink As HyperLink = e.Row.FindControl("SKULink") 
If SKULink IsNot Nothing Then
SKULink.NavigateUrl = "products"+lineItem.ProductSku+".aspx"
End If
在后面,并替换为navigateURL=“SKULink”
但是现在URL只是~/SKULink

修复了这个问题。解决方案是在后面对其进行编码,并像在前面那样调用其ID。向将来需要参考的任何人提供最终工作代码:

            <asp:TemplateField HeaderText="SKU">
            <ItemTemplate>
                <asp:Hyperlink ID="SKULink" runat="server"><asp:Label ID="SKUField" runat="server"></asp:Label></asp:Hyperlink>
            </ItemTemplate>
            </asp:TemplateField>

使用代码隐藏是没有必要的,并且会使代码过于复杂。保持简单,使用一个简单的方法。抛弃模板场

<asp:HyperLinkField DataTextField="DISPLAYNAME"
        DataNavigateUrlFields="SKUFIELD"
        DataNavigateUrlFormatString="~/product/{0}.aspx"          
        HeaderText="SKU" />


将DISPLAYNAME替换为列名(如果绑定到数据表)或属性名(如果绑定到对象)。将SKU字段替换为SKU列名或属性名。

要动态更改url吗?这是asp.net中继器吗??如果是,请尝试在“数据绑定”中设置urlevent@User2012384你能给我举个例子吗?@MairajAhmad是的,使用asp:Label中填充的相同值,你可以在code behind中找到
asp:HyperLink
,并将其
NavigateUrl
设置为你所需的值。
                Dim SKUField As Label = e.Row.FindControl("SKUField")
            If SKUField IsNot Nothing Then
                SKUField.Text = lineItem.ProductSku
            End If

            Dim SKULink As HyperLink = e.Row.FindControl("SKULink")
            If SKULink IsNot Nothing Then
                SKULink.NavigateUrl = "~/product/"+lineItem.ProductSku+".aspx"
            End If
<asp:HyperLinkField DataTextField="DISPLAYNAME"
        DataNavigateUrlFields="SKUFIELD"
        DataNavigateUrlFormatString="~/product/{0}.aspx"          
        HeaderText="SKU" />