ASP.NET 3.5를 사용하여 매우 간단하게 들리는 것을하려고합니다. 사용자는 데이터베이스에 "커뮤니티"를 추가 할 수 있어야하며 확인란을 선택하면 확인란이 선택된 경우에만 표시되는 드롭 다운 메뉴에서 상위 커뮤니티를 선택합니다. 이를 위해 UpdatePanel 내부에 Panel (처음에는 Visible = false로 설정)을 사용했습니다. 내 문제는 Internet Explorer 8과 Chrome에서 작동하지만 (Chrome이 div 대신 전체 페이지를 다시로드하지만) Firefox에서는 아무 일도 일어나지 않습니다. 쿼리는 에 모두으로 전송됩니다. 아래 코드는 모두 Web Form이 아닌 User Control 페이지에 있습니다. ASP.NET UpdatePanel이 Firefox와 함께 작동하지 않습니다.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// Populate drop down menu
var session = HibernateModule.CurrentSession;
var communityList = from community in session.Linq<Community>()
select community;
communityListDropDownList.DataValueField = "id";
communityListDropDownList.DataTextField = "name";
communityListDropDownList.DataSource = communityList;
communityListDropDownList.DataBind();
}
Response.Cache.SetCacheability(HttpCacheability.NoCache);
}
protected void TogglePanel(object sender, EventArgs e)
{
if (cbToggle.Checked)
{
parentCommunityPanel.Visible = true;
}
else
{
parentCommunityPanel.Visible = false;
}
}
이 IE8에서 잘 작동하기 때문에
, 나는 웹 양식에서 매우 유사한 코드 (거의 동일)을 넣어 시도 :이수록<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CommunityEditing.ascx.cs" Inherits="Folke.Code.Element.CommunityEditing" %>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div class="content">
<asp:Label id="editingFeedback" runat="server" />
<dl>
<dt><%=Folke.Code.Texte.L("Name") %></dt><dd><asp:TextBox ID="name" runat="server" /><br />
<asp:RequiredFieldValidator ID="nameReq" runat="server" ControlToValidate="name" ErrorMessage="Community name is required!" /><br />
</dd>
</dl>
<asp:CheckBox ID="cbToggle" runat="server"
OnCheckedChanged="TogglePanel"
Text="Has a parent community" AutoPostBack="True" />
<asp:UpdatePanel ID="parentCommunityUpdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel id="parentCommunityPanel" runat="server" Visible="false">
<asp:DropDownList ID="communityListDropDownList" runat="server"/>
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="cbToggle" />
</Triggers>
</asp:UpdatePanel>
<asp:Button runat="server" Text="Add" ID="send" onclick="send_Click" />
</div>
는 코드 숨김 코드는 간단하다 , 그리고 그것은 Firefox에서 잘 작동합니다. 위의 코드는 MasterPage에 포함되어 있으므로 Web Form에서 User Control을 사용하면 "스태킹"으로 인해 문제가 발생할 수 있습니까? 나는 이것에 몇 시간을 보냈다. 그리고 나는 단지 어떤 납이나 설명을 찾을 수 없다.
편집 : 파이어 폭스의 오류 콘솔을 확인하면
는, 브라우저는이 보고서 :
오류 : http://localhost:54003/EditCommunity.aspx이 라인 : 25
라인 (25)이 처음이다 theForm은 정의되지 않은 소스 파일입니다 이 스크립트의 if 문은 다음과 같습니다.
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
페이지에 자바 스크립트 오류가 있습니까? –
당신이 맞습니다. 나는 오류 세부 사항을 추가하기 위해 질문을 편집했다. – Astaar
죄송합니다. 적절한 답변을 드릴 수는 없지만 페이지에서 소스를보고