【发布时间】:2010-03-18 15:11:51
【问题描述】:
Winforms 开发人员转换为 Web 开发人员。我知道母版页有标签的部分,不清楚的是我的一个内容页面中是否可以有另一个。我一直在搜索这两个答案。我看到是的,如果只有一个具有 runat=server 就可以。问题是我有一个包含几个单选按钮的网页上有一个母版页。我有一个 .js 文件,如果我将名称发送到其中,它具有一个函数,它将循环通过表单中的控件以查看选择了哪个并返回所需的日期范围(MTD、QTD、YTD 等)。当我在非母版页网页上运行它时,它工作正常。但是,当我在具有母版页的网页上运行时,我似乎无法访问该元素。我尝试了getElementByID,我尝试循环浏览页面元素等。也许我做错了,我希望有人能纠正我。
这是我的 .js 文件中的代码,它可能有助于解释我想要做得更好。
var frmDateRanges = document.getElementById(formFieldName);
var chosen;
var len = frmDateRanges.DateRanges.length;
for(i=0;i<len;i++)
{
if(frmDateRanges.DateRanges[i].checked)
{
chosen = frmDateRanges.DateRanges[i].value;
}
}
其中 formFieldName 是传递给函数的参数,而 DateRanges 是赋予单选按钮的名称值。
在我调用这个函数的按钮中,我有:onclick ="FunctionCall('frmDateRanges')"
FunctionCall 仅用于描述目的,'frmDateRanges' 是给表单 action=""
感谢您的帮助,因为我现在很难过。如果有更好的方法,请告诉我。
修剪了在客户端重新渲染的 HTML
var theForm = document.forms['aspnetForm'];
if (!theForm) { theForm = document.aspnetForm; } 函数 __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } }
<form id = "frmDateRanges" action = "">
<dl>
<dt> Begin Date: End Date:</dt><dd><input name="ctl00$ContentPlaceHolder1$wpSettings$beginDT" type="text" id="ctl00_ContentPlaceHolder1_wpSettings_beginDT" style="width:67px;" />
<input name="ctl00$ContentPlaceHolder1$wpSettings$endDT" type="text" id="ctl00_ContentPlaceHolder1_wpSettings_endDT" style="width:67px;" />
<input id="btnBackOneDateRange" name = "btnBackOneDateRange" style="width: 20px; height: 21px" type="button"
value="<" onclick="BackOneDateRange('ctl00_ContentPlaceHolder1_wpSettings_beginDT', 'ctl00_ContentPlaceHolder1_wpSettings_endDT', 'frmDateRanges');"/>
<input id="btnForwardOneDateRange" style="width: 20px; height: 21px" type="button"
value=">" /></dd><dd>
<input type="radio" id="btnTrl1Yr" name="DateRanges" style="width: 19px" value="1" onclick="GetTrailingYears('ctl00_ContentPlaceHolder1_wpSettings_beginDT', 'ctl00_ContentPlaceHolder1_wpSettings_endDT','1');" />
1 Year
<input type="radio" id="btnTrl3Yr" name="DateRanges" style="width: 19px" value="3" onclick="GetTrailingYears('ctl00_ContentPlaceHolder1_wpSettings_beginDT', 'ctl00_ContentPlaceHolder1_wpSettings_endDT','3');" />
3 Years
<input type="radio" id="btnTrl5Yr" name="DateRanges" style="width: 19px" value="5" onclick="GetTrailingYears('ctl00_ContentPlaceHolder1_wpSettings_beginDT', 'ctl00_ContentPlaceHolder1_wpSettings_endDT','5');" />
5 Years
<input type="radio" id="btnTrl10Yr" name="DateRanges" style="width: 19px" value="10" onclick="GetTrailingYears('ctl00_ContentPlaceHolder1_wpSettings_beginDT', 'ctl00_ContentPlaceHolder1_wpSettings_endDT','10');" />
10 Years</dd><dt><input type="radio" id="btnMthToDate" name="DateRanges" style="width: 19px" value="mth" onclick="GetMonthToDate('ctl00_ContentPlaceHolder1_wpSettings_beginDT', 'ctl00_ContentPlaceHolder1_wpSettings_endDT');" />
Month
<input type="radio" id="btnQtrToDate" name="DateRanges" style="width: 19px" value="mth" onclick="GetQuarterToDate('ctl00_ContentPlaceHolder1_wpSettings_beginDT', 'ctl00_ContentPlaceHolder1_wpSettings_endDT');" />
Quarter <input type="radio" id="btnYearToDate" name="DateRanges" style="width: 19px" value="mth" onclick="GetYearToDate('ctl00_ContentPlaceHolder1_wpSettings_beginDT', 'ctl00_ContentPlaceHolder1_wpSettings_endDT');" />
Calendar Year</dt></dl>
</div>
</form>
【问题讨论】:
-
查看(修剪过的)HTML sn-ps 显示客户端上呈现的输出可能会很有用。
标签: .net asp.net master-pages