actually i am using fancy box for the task insertion means on task.aspx i had aded a link for the addtask.aspx and that page is opened in that fancy box, in that page i had created two drop down lists,
when i select value from the first drop down list the values in the second drop down list changes with respect to that,
but the probe is that when i select the values from the 1st dropdown list as the page got refreshed in the mean time fancy box disappears,
so what i want to stay in the same fancy box and and add new task,
i think it can be possible by ajax but don't know how to
in this page i am calling another page with the name "Addtask.aspx" which contains two drop down lists, but the issue is that as you can see in the code above i am calling the page with fancy box and fancy box disappears after i select a value from the 1st
drop down list the add task page code is given below
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="AddTask.aspx.vb" Inherits="AddTask" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type ="text/javascript">
Imports System.Data
Imports System.Data.SqlClient
Partial Class AddTask
Inherits System.Web.UI.Page
Dim ds As DataSet = New DataSet()
Dim objFunc As Site_Functions = New Site_Functions()
Private _connStr As String = ConfigurationManager.ConnectionStrings("ConStr").ConnectionString
Dim conn As New SqlConnection(_connStr)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
fillddlproject()
End If
End Sub
Private Sub fillddlproject()
ds = objFunc.sqlFromSP("usp_Getdata", "transaction^Getprojects|wherecondition^|")
ddlproject.DataSource = ds
ddlproject.DataTextField = "project_name"
ddlproject.DataValueField = "project_id"
ddlproject.DataBind()
ddlproject.Items.Insert(0, New ListItem("Select", "0"))
End Sub
Protected Sub ddlproject_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlproject.SelectedIndexChanged
If IsPostBack Then
ds = objFunc.sqlFromSP("usp_Getdata", "transaction^Getusersfortask|wherecondition^" & ddlproject.SelectedValue & "|")
ddlusers.DataSource = ds
ddlusers.DataTextField = "username"
ddlusers.DataValueField = "user_id"
ddlusers.DataBind()
ddlusers.Items.Insert(0, New ListItem("Select", "0"))
End If
End Sub
Protected Sub btnsave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnsave.Click
ds = New DataSet()
ds = objFunc.sqlFromSP("usp_ins_tasks", "project_id^" & ddlproject.SelectedValue & _
"|summary^" & txtsummary.Text & _
"|details^" & txtdetails.Text & _
"|user_id^" & ddlusers.SelectedValue & _
"|status^" & ddlstatus.SelectedItem.ToString() & _
"|done_percent^" & txtpecentage.Text & _
"|start_date^" & txtstartdate.Text & _
"|end_date^" & txtEnddate.Text & "|")
If ds.Tables(0).Rows(0)("STATUS") = "Success" Then
lblmsg.Text = " Inserted Successfully"
End If
txtdetails.Text = ""
txtEnddate.Text = ""
txtpecentage.Text = ""
txtstartdate.Text = ""
txtsummary.Text = ""
'Response.Redirect("~/Task.aspx")
End Sub
End Class
usp_get data is a store procedure and through transaction i use all select queries
Since the FancyBox is generated at the client then you'll have to populate your dropdownlist with data at the client to avoid refreshing the page and to retain your fancybox. Here's one example that you can refer to get started:
Cascading DropDownLists with jQuery and ASP.NET
ahsan ali
0 Points
3 Posts
dropdown list problem
May 12, 2012 02:05 PM|LINK
actually i am using fancy box for the task insertion means on task.aspx i had aded a link for the addtask.aspx and that page is opened in that fancy box, in that page i had created two drop down lists,
when i select value from the first drop down list the values in the second drop down list changes with respect to that,
but the probe is that when i select the values from the 1st dropdown list as the page got refreshed in the mean time fancy box disappears,
so what i want to stay in the same fancy box and and add new task,
i think it can be possible by ajax but don't know how to
kashif786
Member
312 Points
83 Posts
Re: dropdown list problem
May 12, 2012 02:34 PM|LINK
hi,
Handle IsPostBack or !IsPostBack ,when your dropdown postback to fill new value then matain your fancy box state.
ahsan ali
0 Points
3 Posts
Re: dropdown list problem
May 15, 2012 02:45 PM|LINK
i had checked " Enabled AutoPostBack" property for the first drop down list, and if i uncheck that it does'nt works
:(
confused!
vinz
All-Star
127011 Points
17934 Posts
MVP
Re: dropdown list problem
May 15, 2012 03:16 PM|LINK
Without codes, we can only guess.
MessageBox Controls for WebForms | Blog | Twitter | Linkedin
ahsan ali
0 Points
3 Posts
Re: dropdown list problem
May 15, 2012 03:29 PM|LINK
this is the task page "task.aspx" code
<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false"
CodeFile="Task.aspx.vb" Inherits="Task" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="js/jquery.fancybox-1.3.4.pack.js" type="text/javascript"></script>
<script src="js/jquery.mousewheel-3.0.4.pack.js" type="text/javascript"></script>
<script src="js/jquery.easing-1.3.pack.js" type="text/javascript"></script>
<link href="js/jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" media="screen" />
<script src="js/jquery.fancybox-1.3.4.js" type="text/javascript"></script>
<title></title>
<script type="text/javascript">
$(document).ready(function () {
$("#add").fancybox();
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div class="welcome">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<br />
<asp:Panel ID="addtask" runat="server">
<ul style="list-style-type: none;">
<li style="display: inline;"><a id="add" href="AddTask.aspx" title="Create Task">Create
Task</a></li>
</ul>
</asp:Panel>
</div>
<div>
<asp:GridView ID="AddTaskGrid" runat="server" AutoGenerateColumns="False" OnEditCommand="Edit"
OnDeleteCommand="Delete" Width="100%" AllowPaging="True" PageSize="15" DataKeyNames="task_id"
BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px"
CellPadding="2">
<Columns>
<asp:TemplateField HeaderText="TaskId" SortExpression="task_id" Visible="false">
<ItemTemplate>
<%# Eval("task_id")%>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="lbltaskid" runat="server" Visible="false" Text='<%# Bind("task_id") %>' />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name of Project" SortExpression="project_name">
<ItemTemplate>
<%# Eval("project_name")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlgproject" runat="server">
</asp:DropDownList>
<%-- <asp:TextBox ID="txtprojectname" runat="server" Text='<%# Bind("project_name") %>' />--%>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtprojectname" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="summary" SortExpression="summary">
<ItemTemplate>
<%# Eval("summary")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtsummary" runat="server" Text='<%# Bind("summary") %>' />
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtsummary" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Assigned To" SortExpression="username">
<ItemTemplate>
<%# Eval("username")%>
</ItemTemplate>
<EditItemTemplate>
<%-- <asp:TextBox ID="txtusername" runat="server" Text='<%# Bind("username") %>' />--%>
<asp:DropDownList ID="ddlguserName" runat="server">
</asp:DropDownList>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtusername" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Status" SortExpression="Status">
<ItemTemplate>
<%# Eval("status")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlgstatus" runat="server">
<asp:ListItem Value="0">To DO</asp:ListItem>
<asp:ListItem Value="1">In process</asp:ListItem>
<asp:ListItem Value="2">Completed</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<FooterTemplate>
<asp:DropDownList ID="ddlstatus" runat="server">
<asp:ListItem Value="0">To DO</asp:ListItem>
<asp:ListItem Value="1">In process</asp:ListItem>
<asp:ListItem Value="2">Completed</asp:ListItem>
</asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="% Done" SortExpression="done_percentage">
<ItemTemplate>
<%# Eval("done_percentage")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtdonepercent" runat="server" Text='<%# Bind("done_percentage") %>' />
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtdonepercent" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sart Date" SortExpression="start_date">
<ItemTemplate>
<%# Eval("start_date")%>
</ItemTemplate>
<EditItemTemplate>
<asp:CalendarExtender ID="TxtStartdate_CalendarExtender" runat="server" Enabled="True"
TargetControlID="txtstartdates">
</asp:CalendarExtender>
<asp:TextBox ID="txtstartdates" runat="server" Text='<%# Bind("start_date") %>' />
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtstartdates" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="End Date" SortExpression="end_date">
<ItemTemplate>
<%# Eval("end_date")%>
</ItemTemplate>
<EditItemTemplate>
<asp:CalendarExtender ID="Txtenddate_CalendarExtender" runat="server" Enabled="True"
TargetControlID="txtenddates">
</asp:CalendarExtender>
<asp:TextBox ID="txtenddates" runat="server" Text='<%# Bind("end_date") %>' />
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtenddates" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Remaining Days" SortExpression="Remaining Days">
<ItemTemplate>
<%# Eval("Remaining Days")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtRemainingDays" runat="server" Text='<%# Eval("Remaining Days")%>' />
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="RemainingDays" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Modify">
<ItemTemplate>
<asp:LinkButton ID="btnEdit" runat="server" CommandName="Edit" Text="Edit" />
<span onclick="return confirm('Are you sure to Delete the record?')">
<asp:LinkButton ID="btnDelete" runat="server" CommandName="Delete" Text="Delete" />
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="btnUpdate" runat="server" CommandName="Update" Text="Update" />
<asp:LinkButton ID="btnCancel" runat="server" CommandName="Cancel" Text="Cancel" />
</EditItemTemplate>
<FooterTemplate>
<asp:LinkButton ID="btnInsert" runat="server" CommandName="Insert" Text="Insert" />
</FooterTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="White" ForeColor="#000066" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<RowStyle ForeColor="#000066" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#007DBB" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#00547E" />
</asp:GridView>
</div>
</div>
</asp:Content>
in this page i am calling another page with the name "Addtask.aspx" which contains two drop down lists, but the issue is that as you can see in the code above i am calling the page with fancy box and fancy box disappears after i select a value from the 1st drop down list the add task page code is given below
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="AddTask.aspx.vb" Inherits="AddTask" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type ="text/javascript">
$().ready(function () {
});
</script>
</head>
<body>
<div id="inline1" style="width: 700px; height: 600px; overflow: auto;">
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:Panel ID="addpnl" runat="server">
<table align="center">
<tr>
<td>
Task For Project :
</td>
<td>
<asp:DropDownList ID="ddlproject" runat="server" AutoPostBack="True">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="ddlproject"
ErrorMessage="please Select Project" ForeColor="Red" InitialValue="0">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
Summary :
</td>
<td>
<asp:TextBox ID="txtsummary" runat="server" Width="350px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtsummary"
ErrorMessage="Summary cannot be Empty" ForeColor="Red" SetFocusOnError="True">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td valign="top">
Details :
</td>
<td>
<asp:TextBox ID="txtdetails" runat="server" Width="350px" TextMode="MultiLine" Height="200px"
CausesValidation="True"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" ControlToValidate="txtdetails"
ErrorMessage="Details Cannot be Empty" Style="color: #FF0000"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
Assigned To:
</td>
<td>
<asp:DropDownList ID="ddlusers" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Please Select User"
ControlToValidate="ddlusers" EnableTheming="True" ForeColor="Red" InitialValue="0"
SetFocusOnError="True">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td valign="top">
Status :
</td>
<td>
<asp:DropDownList ID="ddlstatus" runat="server">
<asp:ListItem Value="0">To Do</asp:ListItem>
<asp:ListItem Value="1">In Process</asp:ListItem>
<asp:ListItem Value="2">Completed</asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="Please Select Status"
ControlToValidate="ddlstatus" EnableTheming="True" ForeColor="Red" InitialValue="0"
SetFocusOnError="True">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
% Done :
</td>
<td>
<asp:TextBox ID="txtpecentage" runat="server" Width="50px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" ControlToValidate="txtpecentage"
ErrorMessage="Enter Percentage" Style="color: #FF0000"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style1">
Start Date :
</td>
<td class="style1">
<asp:TextBox ID="txtstartdate" runat="server" Width="150px"></asp:TextBox>
<asp:CalendarExtender ID="txtstartdate_CalendarExtender" runat="server" Enabled="True"
TargetControlID="txtstartdate">
</asp:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" ControlToValidate="txtstartdate"
ErrorMessage="Start Date Cannot be Empty" Style="color: #FF0000"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
End Date :
</td>
<td>
<asp:TextBox ID="txtEnddate" runat="server" Width="150px"></asp:TextBox>
<asp:CalendarExtender ID="txtEnddate_CalendarExtender" runat="server" Enabled="True"
TargetControlID="txtEnddate">
</asp:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" ControlToValidate="txtEnddate"
ErrorMessage="Start Date Cannot be Empty" Style="color: #FF3300"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td colspan="2">
<asp:Button ID="btnsave" runat="server" Text="Save" BackColor="#C6C7CA" Width="100px" />
<asp:Label ID="lblmsg" runat="server" ForeColor="#990000"></asp:Label>
</td>
</tr>
</table>
</asp:Panel>
</div>
</form>
</div>
</body>
</html>
and code behind is this:
Imports System.Data
Imports System.Data.SqlClient
Partial Class AddTask
Inherits System.Web.UI.Page
Dim ds As DataSet = New DataSet()
Dim objFunc As Site_Functions = New Site_Functions()
Private _connStr As String = ConfigurationManager.ConnectionStrings("ConStr").ConnectionString
Dim conn As New SqlConnection(_connStr)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
fillddlproject()
End If
End Sub
Private Sub fillddlproject()
ds = objFunc.sqlFromSP("usp_Getdata", "transaction^Getprojects|wherecondition^|")
ddlproject.DataSource = ds
ddlproject.DataTextField = "project_name"
ddlproject.DataValueField = "project_id"
ddlproject.DataBind()
ddlproject.Items.Insert(0, New ListItem("Select", "0"))
End Sub
Protected Sub ddlproject_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlproject.SelectedIndexChanged
If IsPostBack Then
ds = objFunc.sqlFromSP("usp_Getdata", "transaction^Getusersfortask|wherecondition^" & ddlproject.SelectedValue & "|")
ddlusers.DataSource = ds
ddlusers.DataTextField = "username"
ddlusers.DataValueField = "user_id"
ddlusers.DataBind()
ddlusers.Items.Insert(0, New ListItem("Select", "0"))
End If
End Sub
Protected Sub btnsave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnsave.Click
ds = New DataSet()
ds = objFunc.sqlFromSP("usp_ins_tasks", "project_id^" & ddlproject.SelectedValue & _
"|summary^" & txtsummary.Text & _
"|details^" & txtdetails.Text & _
"|user_id^" & ddlusers.SelectedValue & _
"|status^" & ddlstatus.SelectedItem.ToString() & _
"|done_percent^" & txtpecentage.Text & _
"|start_date^" & txtstartdate.Text & _
"|end_date^" & txtEnddate.Text & "|")
If ds.Tables(0).Rows(0)("STATUS") = "Success" Then
lblmsg.Text = " Inserted Successfully"
End If
txtdetails.Text = ""
txtEnddate.Text = ""
txtpecentage.Text = ""
txtstartdate.Text = ""
txtsummary.Text = ""
'Response.Redirect("~/Task.aspx")
End Sub
End Class
usp_get data is a store procedure and through transaction i use all select queries
vinz
All-Star
127011 Points
17934 Posts
MVP
Re: dropdown list problem
May 16, 2012 11:51 AM|LINK
Since the FancyBox is generated at the client then you'll have to populate your dropdownlist with data at the client to avoid refreshing the page and to retain your fancybox. Here's one example that you can refer to get started: Cascading DropDownLists with jQuery and ASP.NET
MessageBox Controls for WebForms | Blog | Twitter | Linkedin