我已将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;
答案 0 :(得分:2)
纯粹的服务器端方法
您可能需要考虑使用LinkButton
或HyperLink
代码,而不是<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
。