我有一個母版頁和一個Default.aspx頁面。我的下拉菜單<select>
在主頁上。在母版頁上從下拉列表中獲取價值
我想從母版頁上的下拉列表中選擇一個月份,並將其分配給不同類別的變量。然後,default.aspx頁面必須使用該變量從數據庫中選擇數據,其中日期等於我分配給該變量的日期。
之所以選擇在母版頁上,是因爲選擇器應該在所有的頁面通過網站。
導致此問題的主要原因是defauls.aspx頁面上的Page_Load event
,它在Master頁面中激發之前 Page_Load。
如果我嘗試Page_Init
,它工作,但選擇器代碼保持返回0作爲值。我也嘗試使用HiddenField
,它也失敗了。我很感激任何幫助!
Site1.Master:
<select id="SelectMonth" runat="server" onchange="CmbChange();">
<option id="Select" value="0">[Select Month]</option>
<option id="January" value="1">January</option>
<option id="February" value="2">February</option>
<option id="March" value="3">March</option>
<option id="April" value="4">April</option>
<option id="May" value="5">May</option>
<option id="June" value="6">June</option>
<option id="July" value="7">July</option>
<option id="August" value="8">August</option>
<option id="September" value="9">September</option>
<option id="October" value="10">October</option>
<option id="November" value="11">November</option>
<option id="December" value="12">December</option>
</select>
<script type="text/javascript">
function CmbChange(obj) {
var cmbValue = document.getElementById("SelectMonth").value;
__doPostBack('SelectMonth', cmbValue);
}
</script>
Site1.Master.cs:
protected void Page_Load(object sender, EventArgs e)
{
int month = Convert.ToInt32(SelectMonth.Value);
if (month > 0)
{
Date.Month = month;
}
else
{
Date.Month = DateTime.Now.Month;
}
}
的Default.aspx:
protected void Page_Load(object sender, EventArgs e)
{
// Example
var sql = "SELECT * FROM Data WHERE Month = " + Date.Month;
}
個
Date.cs:
public static class Date
{
public static int Month { get; set; }
}
謝謝!
歡迎來到StackOverflow!請在您的問題中發佈相關代碼而不是提供鏈接,它將幫助您獲得答案:http://meta.stackexchange.com/questions/125997/something-in-my-web-site-or-project -doesnt-work-can-i-just-paste-a-link-to-it – cfs