Solved

Changing hyperlink.

Posted on 2006-06-18
3
490 Views
Last Modified: 2008-02-01
I have the hyperlink below that redirects the client to a page where they can isert a new record. I want this to load within the same page.
<asp:HyperLink ID="HyperLink1" ImageUrl="~/images/add.gif" Text="New" NavigateUrl="DetailsViewInsert.aspx" runat="server" /><small>new</small>

*
First EquipmentType is selected, once a type is selected a search is done in inventory for this equipmenttype. This is displayed in a gridview in which the item can be selected or deleted. If selected it allows the option to edit or add a new record. I would like the functionality of the add to be used instead of having to use the hyperlink to a form as stated above. This seems to be redundant to me when the code already exists to do this. I hope I am not confusing the person reading this but I am not familar with the terminology for what I need to accomplish. Thanks.

Below is the code for the app :

<%@ Page Language="VB" %>
<script runat="server">

    Protected Sub DetailsView1_ItemInserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewInsertedEventArgs)
   
        If (Not e.Exception Is Nothing) Then

            ErrorMessageLabel.Text = "An error occured while entering this record.  Please verify you have entered data in the correct format."
            e.ExceptionHandled = True
        End If
        GridView1.DataBind()
    End Sub

    Protected Sub DetailsView1_ItemUpdated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewUpdatedEventArgs)
   
        GridView1.DataBind()
    End Sub

    Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
   
     
        DetailsView1.ChangeMode(DetailsViewMode.ReadOnly)
       
    End Sub

    Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
   
        DetailsView1.ChangeMode(DetailsViewMode.ReadOnly)
    End Sub

    Protected Sub GridView1_PageIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
   
        DetailsView1.ChangeMode(DetailsViewMode.ReadOnly)
    End Sub

    Protected Sub GridView1_Sorted(ByVal sender As Object, ByVal e As System.EventArgs)
        DetailsView1.ChangeMode(DetailsViewMode.ReadOnly)
    End Sub
   
    Protected Sub GridView1_RowDeleted(ByVal sender As Object, ByVal e As GridViewDeletedEventArgs)
   
        If (Not e.Exception Is Nothing) Then
       
            ErrorMessageLabel.Text = "Failed to DELETE due to foreign key contstraint on the table.  You may only delete rows which have no related records."
            e.ExceptionHandled = True
        End If
    End Sub

    Protected Sub DetailsView1_DataBound(ByVal sender As Object, ByVal e As EventArgs)
   
        If (DetailsView1.CurrentMode = DetailsViewMode.Insert) Then
       
            Dim stateTextBox As TextBox = CType(DetailsView1.Rows(6).Cells(1).Controls(0), TextBox)
            stateTextBox.Text = DropDownList1.SelectedValue
            stateTextBox.Enabled = False
        End If
    End Sub
    Protected Sub Dropdownlist1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.DataBound
        DropDownList1.Items.Insert(0, New ListItem("SELECT TYPE", "0"))
    End Sub

</script>
<html>
<head id="Head1" runat="server">
  <title>E-Risk Services Inventory</title>
<link rel="Stylesheet" href="style.css" />
</head>
<body>
  <form id="form1" runat="server">
    <b>Equipment Type:</b>
    <asp:DropDownList ID="DropDownList1" DataSourceID="SqlDataSource2" AutoPostBack="true"
      DataTextField="equipmenttype" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" />
    <asp:SqlDataSource ID="SqlDataSource2" runat="server" SelectCommand="SELECT DISTINCT [equipmenttype] FROM [equipmenttype]"
      ConnectionString="<%$ ConnectionStrings:BamAdminConnectionString %>" />
     
       <br />
    <br />
        <table cellpadding="0" cellspacing="0">
      <tr>
        <td valign="top" style="width: 555px; height: 309px;" colspan="">
       

          <asp:GridView ID="GridView1" AllowPaging="True" runat="server"
            DataSourceID="SqlDataSource1" DataKeyNames="id"
            AutoGenerateColumns="False" Width="500px" SelectedIndex="0" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" OnPageIndexChanged="GridView1_PageIndexChanged" OnRowDeleted="GridView1_RowDeleted" OnSorted="GridView1_Sorted" CellPadding="0" GridLines="None">
            <Columns>
              <asp:CommandField ShowSelectButton="True" ShowDeleteButton="True" ButtonType="Image" DeleteImageUrl="~/images/delete.gif" EditImageUrl="~/images/documentedit.gif" NewImageUrl="~/images/add.gif" CancelImageUrl="~/images/delete.gif" SelectImageUrl="~/images/approve.gif" UpdateImageUrl="~/images/moveup.gif" HeaderText="ACTION" >
                  <HeaderStyle Wrap="False" CssClass="headertitle" Font-Size="Small" HorizontalAlign="Left" />
                  <ItemStyle HorizontalAlign="Left" Wrap="False" />
              </asp:CommandField>
              <asp:BoundField DataField="equipmenttype" HeaderText="TYPE" SortExpression="equipmenttype" >
                  <ItemStyle HorizontalAlign="Left" Wrap="False" />
                  <HeaderStyle CssClass="headertitle" Font-Size="Small" HorizontalAlign="Left" Wrap="False" />
              </asp:BoundField>
              <asp:BoundField DataField="make" HeaderText="MAKE" SortExpression="make" >
                  <ItemStyle HorizontalAlign="Left" Wrap="False" />
                  <HeaderStyle CssClass="headertitle" Font-Size="Small" HorizontalAlign="Left" Wrap="False" />
              </asp:BoundField>
              <asp:BoundField DataField="model" HeaderText="MODEL" SortExpression="model" >
                  <ItemStyle HorizontalAlign="Left" Wrap="False" />
                  <HeaderStyle CssClass="headertitle" Font-Size="Small" HorizontalAlign="Left" Wrap="False" />
              </asp:BoundField>
              <asp:BoundField DataField="owner" HeaderText="OWNER" SortExpression="owner" >
                  <ItemStyle HorizontalAlign="Left" Wrap="False" />
                  <HeaderStyle CssClass="headertitle" Font-Size="Small" HorizontalAlign="Left" Wrap="False" />
             
              </asp:BoundField>
            </Columns>
              <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
              <AlternatingRowStyle CssClass="Tdatagray" />
                  <EditRowStyle BackColor="#999999" />
                  <RowStyle CssClass="tdatasilva" />
              <HeaderStyle Font-Size="X-Small" Font-Names="Tahoma" />
          </asp:GridView>
          <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:BamAdminConnectionString %>"
            SelectCommand="SELECT [id], [equipmenttype], [make], [model], [serial], [owner], [name] FROM [hardwareinventory] WHERE ([equipmenttype] = @equipmenttype)"
            DeleteCommand="DELETE FROM [hardwareinventory] WHERE [id] = @id">
            <SelectParameters>
              <asp:ControlParameter ControlID="DropDownList1" Name="equipmenttype" PropertyName="SelectedValue"
                Type="String" />
            </SelectParameters>
          </asp:SqlDataSource>
          <asp:HyperLink ID="HyperLink1" ImageUrl="~/images/add.gif" Text="New" NavigateUrl="DetailsViewInsert.aspx" runat="server" /><small>new</small>
         <asp:HyperLink ID="HyperLink2" ImageUrl="~/images/delete.gif" Text="Cnacel" NavigateUrl="Details.aspx" runat="server" /><small>cancel</small>
        </td>
        <td valign="top" style="width: 225px; height: 309px;">
          <asp:DetailsView AutoGenerateRows="False" DataKeyNames="id" DataSourceID="SqlDataSource3"
            HeaderText="<b>EQUIPMENT DETAILS</b>" CssClass="headertitle" ID="DetailsView1" runat="server" Width="275px" OnItemUpdated="DetailsView1_ItemUpdated" OnItemInserted="DetailsView1_ItemInserted" OnDataBound="DetailsView1_DataBound">
            <Fields>
              <asp:BoundField DataField="id" HeaderText="id" ReadOnly="True" SortExpression="id" InsertVisible="False" >
                  <ItemStyle CssClass="box_title" HorizontalAlign="Left" VerticalAlign="Top" Wrap="False" />
                  <HeaderStyle CssClass="tdatagray" HorizontalAlign="Left" VerticalAlign="Top" Wrap="False" />
              </asp:BoundField>
              <asp:BoundField DataField="make" HeaderText="make" SortExpression="make" >
                  <ItemStyle CssClass="box_title" HorizontalAlign="Left" VerticalAlign="Top" Wrap="False" />
                  <HeaderStyle CssClass="tdatagray" HorizontalAlign="Left" VerticalAlign="Top" Wrap="False" />
              </asp:BoundField>
              <asp:BoundField DataField="model" HeaderText="model" SortExpression="model" >
                  <ItemStyle CssClass="box_title" />
                  <HeaderStyle CssClass="tdatagray" />
              </asp:BoundField>
              <asp:BoundField DataField="serial" HeaderText="serial" SortExpression="serial" >
                  <ItemStyle CssClass="box_title" />
                  <HeaderStyle CssClass="tdatagray" />
              </asp:BoundField>
              <asp:BoundField DataField="owner" HeaderText="owner" SortExpression="owner" >
                  <ItemStyle CssClass="box_title" />
                  <HeaderStyle CssClass="tdatagray" />
              </asp:BoundField>
              <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" >
                  <ItemStyle CssClass="box_title" />
                  <HeaderStyle CssClass="tdatagray" />
              </asp:BoundField>
              <asp:BoundField DataField="equipmenttype" HeaderText="type" SortExpression="equipmenttype" >
                  <ItemStyle CssClass="box_title" />
                  <HeaderStyle CssClass="tdatagray" />
              </asp:BoundField>
              <asp:CommandField ButtonType="Image" EditImageUrl="~/images/documentedit.gif" CancelImageUrl="~/images/delete.gif"  InsertImageUrl="~/images/disk.gif" NewImageUrl="~/images/add.gif" UpdateImageUrl="~/images/moveup.gif" HeaderText="Action"
                            ShowEditButton="True" ShowInsertButton="True">
                  <HeaderStyle CssClass="tdata" />
                  <ItemStyle CssClass="tdata" />
              </asp:CommandField>
            </Fields>
              <HeaderStyle Font-Size="XX-Small" />
          </asp:DetailsView>
          <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:BamAdminConnectionString %>"
            SelectCommand="SELECT [id], [equipmenttype], [make], [model], [serial], [owner], [name] FROM [hardwareinventory] WHERE ([id] = @id)"
            UpdateCommand="UPDATE [hardwareinventory] SET [equipmenttype] = @equipmenttype, [make] = @make, [model] = @model, [serial] = @serial, [owner] = @owner, [name] = @name WHERE [id] = @id"
            InsertCommand="INSERT INTO [hardwareinventory] ([equipmenttype], [make], [model], [serial], [owner], [name]) VALUES (@equipmenttype, @make, @model, @serial, @owner, @name)">
            <SelectParameters>
              <asp:ControlParameter ControlID="GridView1" Name="id" PropertyName="SelectedValue"
                Type="String" />
            </SelectParameters>
            <UpdateParameters>
              <asp:Parameter Name="equipmenttype" Type="String" />
              <asp:Parameter Name="make" Type="String" />
              <asp:Parameter Name="model" Type="String" />
              <asp:Parameter Name="serial" Type="String" />
              <asp:Parameter Name="owner" Type="String" />
              <asp:Parameter Name="name" Type="String" />
              <asp:Parameter Name="id" Type="String" />
            </UpdateParameters>
            <InsertParameters>
              <asp:Parameter Name="make" Type="String" />
              <asp:Parameter Name="model" Type="String" />
              <asp:Parameter Name="serial" Type="String" />
              <asp:Parameter Name="owner" Type="String" />
              <asp:Parameter Name="name" Type="String" />
              <asp:Parameter Name="equipmenttype" Type="String" />
            </InsertParameters>
          </asp:SqlDataSource>
        </td>
      </tr>
    </table>
    <br />
    <asp:Label ID="ErrorMessageLabel" EnableViewState="false" runat="server" />
  </form>
</body>
</html>
0
Comment
Question by:-cr-
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 27

Expert Comment

by:Sammy
ID: 16929793
-cr-,
You did confuse me but thats not hard to do.
Lets say I am the user surfing the site now. You want me to be able to click on a link to open DetailsViewInsert.aspx and just start adding a new records without having to click on anything else? or am I missing something here?

0
 

Author Comment

by:-cr-
ID: 16929997
Yes that sounds right. Currently we can do that but we have to click on a hyperlink that redirects to an insert page.
0
 
LVL 7

Accepted Solution

by:
kGenius earned 500 total points
ID: 16932657
Place your controls (the dropdownlist, gridview, hyperlink) on a panel. The detailsview not.
When clicking the hyperlink set Panel1.Visible=false and your DetailsView1.Visible=true. (et vice versa)

Is that the thing you want to do?

kGenius
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses the ASP.NET AJAX ModalPopupExtender control. In this article we will show how to use the ModalPopupExtender control, how to display/show/call the ASP.NET AJAX ModalPopupExtender control from javascript, how to show/display/cal…
In this Article, I will provide a few tips in problem and solution manner. Opening an ASPX page in Visual studio 2003 is very slow. To make it fast, please do follow below steps:   Open the Solution/Project. Right click the ASPX file to b…
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…
This video shows how to use Hyena, from SystemTools Software, to update 100 user accounts from an external text file. View in 1080p for best video quality.
Suggested Courses

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question