通过URL传递C#变量

时间:2016-06-02 20:51:43

标签: c# asp.net variables

我已将C#中的变量定义为下拉列表中选择的项目。

let numberOfColumns: CGFloat = 10
    let w = self.view.frame.width
    let h = self.view.frame.height
    let squareSideLength = w / numberOfColumns
    let numberOfRows = h / squareSideLength
    let area = numberOfColumns * numberOfRows
    let areaInt = Int(ceil(area))


    for i in 1...areaInt {
        self.square.frame = CGRect(x: , y: , width: squareSideLength, height: squareSideLength)
        self.view.addSubview(square)
    }

我现在想把我的URL中的这个变量传递给下一页。我如何在href标签中执行此操作?

string parametername = ddlCarrier.SelectedItem.Text;

2 个答案:

答案 0 :(得分:2)

纯粹的服务器端方法

您可能需要考虑使用LinkButtonHyperLink代码,而不是<a>,因为您不会对代码隐藏做任何事情:< / p>

<asp:HyperLink ID="btnSubmit" runat="server" NavigateUrl="Table.aspx" Text="Navigate"></asp:HyperLink>

然后您可以使用NavigateUrl属性,您可能需要考虑在代码隐藏中进行设置:

// This will set up your Navigation URL as expected
btnSubmit.NavigateUrl = String.Format("Table.aspx?parameter={0}",ddlCarrier.SelectedItem.Text);

如果您使用此方法,您可能希望显式设置DropDownList更改时发生PostBack,以便此值始终正确:

<asp:DropDownList ID="dllCarrier" runat="server" AutoPostBack="True" ...>

客户端方法

但是,如果您希望能够在没有PostBack的情况下更改此值以反映Carrier DropDownList的当前值,那么您可能需要在实际导航之前使用Javascript填充值: / p>

<!-- Set your base URL within the method and append the selected value when clicked -->
<asp:Button ID="Example" runat="server" OnClientClick="ClientSideNavigate('Table.aspx'); return false;" Text="Navigate"></asp:Button>
<script>
    function ClientSideNavigate(url) {
        // Get the selected element
        var e = document.getElementById('<%= ddlCarrier.ClientID %>');
        // Navigate
        window.location.href = url + '?parameter=' + e.options[e.selectedIndex].value;
    }
</script>

或者您可以完全避免使用ASP.NET控件,只使用<button>标记:

<button onclick="ClientSideNavigate('Table.aspx'); return false;">Navigate</button>
<script>
    function ClientSideNavigate(url) {
        // Get the selected element
        var e = document.getElementById('<%= ddlCarrier.ClientID %>');
        // Navigate
        window.location.href = url + '?parameter=' + e.options[e.selectedIndex].value;
    }
</script>

答案 1 :(得分:0)

您需要处理TextChanged的{​​{1}}或SelectedIndexChanged事件,并正确设置ddlCarrier的{​​{1}}属性以包含href