jQuery FaceBox를 사용하여 텍스트 상자, 드롭 다운 목록 및 버튼을 표시합니다. 사용자는 텍스트 상자에 텍스트를 쓰고 ddl abd에서 값을 선택하여 버튼을 누릅니다. 코드 숨김에서 일부 코드가 실행됩니다. FaceBox는 훌륭하게 보여 주며 그 안에있는 내용도 괜찮습니다. 또한 버튼 이벤트가 발생합니다. 단추 이벤트 핸들러의 코드입니다.asp.net jQuery FaceBox의 버튼 이벤트
protected void Button1_Click(object sender, EventArgs e)
{
_favorit = new Favoritter();
ListItem fav = ddl_favoritter.SelectedItem;
_favorit.FavoritterFolderID = int.Parse(fav.Value);
//_favorit.FavoritterFolderID = Convert.ToInt32(ddl_favoritter.SelectedItem);
_favorit.FavoritterNavn = txt_favoritNavn.Text;
_favorit.FavoritterUserID = UserID;
_favorit.FavoritterUrl = HttpContext.Current.Request.Url.ToString();
FavoritterManager.InsertFavoritter(_favorit);
}
비즈니스 개체가 만들어지고 해당 속성은 컨트롤에서 읽은 값으로 설정됩니다. 개체는 다음 데이터베이스에 삽입됩니다, 잘 작동합니다. 문제는 텍스트 상자와 드롭 다운 값이 올바르게 설정되어 있지 않다는 것입니다. textbox 값은 비어 있으며 ddl selected 값은 1입니다. 텍스트 상자에 썼음에도 불구하고 버튼을 누르기 전에 다른 ddlitem을 선택합니다.
if (!Page.IsPostBack)
{
_favoritter = FavoritterFolderManager.GetFavoritterFolderByUser(UserID);
ddl_favoritter.DataSource = _favoritter;
ddl_favoritter.DataBind();
}
내가 (! Page.IsPostBack) 경우 외부에서이 코드를 넣어 시도하고, 또한 ObjectDataSource를 여전히 같은 문제를 사용하여 작성하십시오 DDL은 다음과 같이로드됩니다. 마치 버튼을 눌렀을 때 컨트롤이 "재설정"된 것과 같고 FaceBox와는 아무 관계가 없다고 생각합니다. 컨트롤이 포함 된 div를 표시하는 것뿐입니다. 그렇다면 다시 ... 어떤 아이디어? (! IsPostBack을) :
이
는 aspx 페이지의 코드이며,<div id="showme" style="display:none;">
Add to favourites.<br />
<br />
<p>
Title: <span><asp:TextBox ID="txt_favoritNavn" runat="server"></asp:TextBox></span></p>
<p>
select folder: <span><asp:DropDownList ID="ddl_favoritter" runat="server" DataTextField="FavoritterFolderNavn"
DataValueField="FavoritterFolderID" AppendDataBoundItems="true">
</asp:DropDownList>
</span>
</p>
<br />
<asp:Button ID="Button1" runat="server" Text="Gem" onclick="Button1_Click"/>
</div>
다행히 뭔가를 찾았 기 때문에 ... 답을 표시 한 것을 잊지 마세요.이 질문을하는 미래의 사용자가 어디를 가야하는지 알 수 있습니다. –
그래, 나는 그것을 받아 들일려고했는데, 나는 내 시간표에 맞지 않는 5 시간 만에 내 대답을 받아 들일 수 있다고 말하는 대화를 얻었다. 나는 그것을 다시 한번 발사 할 것이다 - 5 시간 안에 :-D – Soeren