DataSource Controls :: Passing Parameters By Selecting Event Handler?

Sep 19, 2010

I'm having an issue coming up with an appropriate code design to implement a search page using linq to sql for my DDL. I think the best way for me to explain where I'm at is describing what I've done in the past, before linq. Lets say we have a basic search page with various user input controls for search options... for simplicity, let's say there are two main ways the user can search.
1. a dropdown filled with account numbers. When that drop down is changed and an account number is selected, a gridview needs to be populated with all the records for that account.
2. the second way is a dropdown for choosing what field you want to search, a textbox for entering what you want to search for, and a button to execute that search. In the past, just using straight ado.net

I would handle each of these two search options separately within the events of the dropdown list and the button, respectively. In selectedIndexChanged for 1, and in the buttonClick event for 2, I would construct my sqlCommand etc., ultimately returning a dataset or datatable which I would then bind to the gridview. The logic was separated by the two different event handlers. Now, fast forward to linq to sql and I have a similar page layout, but I am using the linqdatasource selecting event to build my where conditions. Now the difference is *everything*, all the logic, is now in this one event handler, which search option did the user run? Could I somehow craft an IQueryable <T> within each of the input controls event handlers (like the button click, or selectedIndexChanged of the dropdown) and pass that in to the linqdatasource's selecting event? that way my logic stays logically separated...

further, after this initial search is done and results are bound to a gridview, I have several other dropdown lists that appear for search refinement. I need to keep track of that top level query, and each of the refinements... and again, right now it looks like everything is going into the linqdatasource selecting event and I get the feeling it shouldn't be... using the selecting event enables my paging and sorting to work, so I want to use that, but again, it's turning out that I'm putting *everything* there, like all the page's logic, and I'm thinking that is not good? if I could just pass in the actually query, like an IQueryable<T>, and keep my logic separated.

View 8 Replies


Similar Messages:

DataSource Controls :: Passing Parameters To ObjectDataSource

Aug 9, 2010

I followd Brian Orrell LINQ tutorial for paging/sorting and created a gridview bound to an ObjectDataSource through a method call which gets data from adatabase. My form includes two buttons with a textbox next to each one of them. I need to be able to populatte th egridview depending on the button that was pressed, I cannot figure out how signal my method which button was pressed.
[Code]....
[URL]

View 1 Replies

How To Add Parameters To An Event Handler In Javascript

Aug 24, 2010

Currently I am implementing code from this example. In my aspx file, I have Label1 and Textbox1 defined. In my aspx.cs file, I am setting the Label1.Text property to a random string in the Page_Load method.

In the .js file I have included, I have:
var Label1, TextBox1;
Sys.Application.add_init(AppInit);
function AppInit(sender) {
Label1 = $get('Label1');
TextBox1 = $get('TextBox1');

[Code]....

View 2 Replies

DataSource Controls :: Parameters Seems To Not To Be Passing Parameter To The Control

May 5, 2010

i have the following code

[Code]....

I have debugged the session and the value there is valid , but when i redirect to the page[Code]....

The Parameters seems to not to be passing parameter to the control

View 2 Replies

DataSource Controls :: Passing Results / Parameters In LINQ

Jan 20, 2010

im new to linq and im having lots of trouble creating complex queries.. My problem mainly is that i am using Linq as a BLL.

i created a dbml (with namespace called DAL) file with 2 tables with a one to many relation. Pop and City. There is a forgien key in pop that points to a city. I also created a class called Pop that inhertis DAL.Pop. Now in my ASPX page, i want to call a function in the Pop class that would retrieve some Pop according to its ID, but i need the city name as well.. Ive been going around this in circles for days. I dont know how to write the Linq syntax and i dont understandd how my function's signature should be like.. I want to recieve a table that i can bind to a Gridview and preferable, specify which coloumns to bind.

View 2 Replies

DataSource Controls :: Passing Parameters To Data Class

Apr 23, 2010

I have an ObjectDataSource3 that I am trying to use to insert data from:

From: Dropdownlist1.selected value To: (CustomerID)
From: Dropdownlist2.selected value To: (ProductCode)
From: txtTitle (Title) To: (Title)
CurrentDate To: DateOpened
The btnAdd event is suppose to calls:
ObjectDataSource3.Insert()

Below is my code for both the page and class. Although my class is expecting parameters, I don't know how to get the parameters to the insert function in my class.

[Code]....
[Code]....

View 2 Replies

DataSource Controls :: Passing Parameters In Sqldatasource Storeproc, Dropdownlist And Textbox

Jun 8, 2010

I got DDL1: 10 miles

20 miles

TextBox1 : 'AAA20'

Button:

When user selects 10 miles from dropdownlist DDL1 and types AAA20 in textbox1 which is of type text, on button click it has to pull all the columns from database and show results in gridview using sqldatasource store procedure. I'm stuck in server side code..how to pull the data..in store procedure I'm passing two parameters val1 and val2. val1 gets data from DDL1 and val2 gets data when user types in textbox1 and it has to validate the text...see the code below mentioned and tell me how to pass the params and get the data in gridview...

[code]....

View 2 Replies

DataSource Controls :: Stringbuilder Not Working Inside Selecting Event?

Jan 15, 2010

I'm trying to construct one of my SQL query parameters by building a string inside the DataSource selecting event. This string will be grabbing information from various controls on the page (2 drop down menus and 1 calendar date selector). However, I found that stringbuilder doesn't work inside a selecting event. Is that normal or do I have another hidden problem??

Here is the error I'm getting:

System.Data.SqlClient.SqlException: Procedure 'spProcedure2' expects parameter '@sqlSelect', which was not supplied.

Here is my code inside the selecting event:

System.Text.StringBuilder selectValues = (System.Text.StringBuilder)ViewState["SelectedValues"];
selectValues.Append("EXEC spProcedure1 ");
ArrayList selectedDates = (ArrayList)ViewState["SelectedDates"];
if (!IsPostBack)

[Code]....

I'm using Visual Web Developer 2008 and SQL Server 2000.

View 8 Replies

DataSource Controls :: E.Result In Selected Versus Selecting Event Of Linqdatasource Control

Sep 23, 2010

in the selected event it seems even though e.TotalRowCount really is the total row count, when I cast e.Result to a type in order to access the actual data only the current page of data is there? not all.

IEnumerable<InventoryGridItem> items = (IEnumerable<InventoryGridItem>)e.Result;

items only has the 15 records for the current gridView page, not all the records, is this normal? If I need to access all the items in the result do I need to stick with the selecting event instead?

View 2 Replies

Forms Data Controls :: Get The DataSource Of GridView Control In SelectedIndexChanged Event Handler?

Jun 8, 2010

Get the DataSource of GridView control in SelectedIndexChanged event handler?

View 6 Replies

AJAX :: Passing The Parameters In Sql Datasource?

Mar 13, 2011

I have used a sql data source to connect to ORACLE.

Select command is working fine, as soon as I try to provide a parameter, it doesn;t work.

Getting following error " ORA-01036: illegal variable name/number"

Tried searching for error message -- but It says the parameters name has to be less then 32 characters, which is what I have.

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DevConnection %>"
ProviderName="<%$ ConnectionStrings:DevConnection.ProviderName %>" SelectCommand="Select ID, Name from Employee where state = @stateid">
<SelectParameters>
<asp:ControlParameter Name ="stateid" ControlID = "drdState" PropertyName = "SelectedValue" />
</SelectParameters>

View 2 Replies

Difference Between Adding Code In The PreLoad Event Handler And At The Top Of The Load Event Handler?

Oct 3, 2010

Is there a technical reason for the existence of Page.PreLoad or is this just convenience to have a place where you can neatly place code that always have to be executed before the Load code? Is there a difference between adding code in the PreLoad event handler and adding code at the top of the Load event handler? And what would be a typical scenario where you use PreLoad?

View 2 Replies

Get Total Row Count And Why Is The GridView's DataSource Property Null In The DataBound Event Handler

Jul 22, 2010

I wanted to get the total row count in a GridView's databound event handler, so I tried the following:

protected void grid_DataBound(object sender, EventArgs e)
{
GridView grid = (GridView)sender;
DataSet data = grid.DataSource as DataSet;
if (data == null)
return;
int totalRows = data.Tables[0].Rows.Count;
}

The problem is that the grid.DataSource property is null. The DataSourceID property is not null, so does that mean that I can't access the DataSource object in the DataBound event handler unless I assign the DataSource property directly?

Edit1: Here is the code in my GridHelper class for adding rowcount to the BottomPagerRow. I would like to get rid of the requirement to pass in the ObjectDataSource, but can't because I need to use the Selected event to get total row count. Hence the reason for the question. I also think this might be better in a custom control where I can access ViewState, and/or create child controls during the Init event (I still have a problem to resolve with the way the pager renders with an extra cell), but then I'd still have the problem of how to get to the total row count when the DataSource itself doesn't appear to be available in any GridView events.

Edit 2: Not really relevant to the specific problem, but I resolved the problem I was having with the pager rendering so i've updated the code posted. I found the trick here: [URL]

#region Fields
private int totalRows = -1;
#endregion
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="GridHelper"/> class.
/// Adds EventHandlers to the GridView to display results from the ObjectDataSource in the footer.
/// Marked as obsolete because AddResultsToFooter method provides a static access to the same functionality
/// An instance of GridHelper is required by the passed in GridView to store the totalRows value between the two event handlers
/// </summary>
/// <param name="grid">The grid.</param>
/// <param name="source">The ObjectDataSource linked to the GridView.</param>
[Obsolete("Use AddResultsToFooter instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public GridHelper(GridView grid, ObjectDataSource source)
{
source.Selected += source_Selected;
grid.PreRender += grid_PreRender;
}
#endregion
#region Event Handlers
private void grid_PreRender(object sender, EventArgs e)
{
GridView grid = (GridView)sender;
if (grid.HeaderRow != null)
grid.HeaderRow.TableSection = TableRowSection.TableHeader;
//Add a cell to the bottom pager row to display the total results
if (grid.BottomPagerRow == null || !grid.BottomPagerRow.Visible)
return;
//Get the control used to render the pager
//http://michaelmerrell.com/2010/01/dynamically-modifying-the-asp-net-gridview-paging-control/
Table tblPager = grid.BottomPagerRow.Cells[0].Controls[0] as Table;
if (tblPager == null)
return;
if (totalRows < 0)
{
//The DataSource has not been refreshed so get totalRows from round trip to client
addResultsToPagerTable(tblPager, grid.Attributes["results"]);
return;
}
int firstRow = grid.PageIndex * grid.PageSize + 1;
int lastRow = firstRow + grid.Rows.Count - 1;
string results;
if (totalRows <= grid.PageSize)
results = string.Format("<span class='grid-pager'>{0} Results</span>", totalRows);
else
results = string.Format("Results <b>{0}</b> to <b>{1}</b> of <b>{2}</b>", firstRow, lastRow, totalRows);
addResultsToPagerTable(tblPager, results);
//Need to store the information somewhere that is persisted via ViewState, and we don't have access to ViewState here
grid.Attributes.Add("results", results);
}
/// <summary>
/// Handles the Selected event of the source control. Gets the total rows, since it is not possible to access them from the GridView.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.Web.UI.WebControls.ObjectDataSourceStatusEventArgs"/> instance containing the event data.</param>
private void source_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
if (e.ReturnValue is DataView)
totalRows = ((DataView)e.ReturnValue).Count;
else if (e.ReturnValue is EntitySet)
totalRows = ((EntitySet)e.ReturnValue).Count;
}
#endregion
#region Private Methods
private static void addResultsToPagerTable(Table tblPager, string results)
{
//http://michaelmerrell.com/2010/01/dynamically-modifying-the-asp-net-gridview-paging-control/
//Get a handle to the original pager row
TableRow pagesTableRow = tblPager.Rows[0];
//Add enough cells to make the pager row bigger than the label we're adding
while (pagesTableRow.Cells.Count < 10)
pagesTableRow.Cells.Add(new TableCell { BorderStyle = BorderStyle.None });
//Add a new cell in a new row to the table
TableRow newTableRow = new TableRow();
newTableRow.Cells.AddAt(0, new TableCell
{
Text = results,
BorderStyle = BorderStyle.None,
ColumnSpan = pagesTableRow.Cells.Count
});
tblPager.Rows.AddAt(0, newTableRow);
}
#endregion
#region Public Methods
/// <summary>
/// Adds EventHandlers to the GridView to display results from the ObjectDataSource in the footer.
/// </summary>
/// <param name="grid">The GridView.</param>
/// <param name="source">The ObjectDataSource linked to the GridView.</param>
public static void AddResultsToFooter(GridView grid, ObjectDataSource source)
{
if (grid == null)
throw new ArgumentNullException("grid", "grid is null.");
if (source == null)
throw new ArgumentNullException("source", "source is null.");
new GridHelper(grid, source);
}
#endregion

View 1 Replies

Forms Data Controls :: How To Call A Button Click Event On From An Event Handler

Sep 29, 2010

I got an event handler like this, in this event, i wanted to call another button click event. How can I do that?

[Code]....

if (ds.Tables[0].Rows.Count == 0)

View 3 Replies

Forms Data Controls :: Selecting A Row In An Datagrid And Passing A Value Related To Selected Row On Button Click?

Nov 5, 2010

I have a datareader that returns a few fields (orderid, customer id, customername, location, total amount - as an example) that is bound to a datagrid on an asp page. The datagrid simply displays customername, location and total amount and has 2 buttons

below it labelled 'Add New' and 'Edit' and I would like the following to happen:

1) when a user clicks on any cell in the datagrid, I want that row to be highlighted in someway so that the user is aware of the highlighted row.

2) If the user then clicks on Edit button, I want to go to another page that displays the details of that order by passing the orderid of that row to the next page.

The idea is that the user selects a row on the datagrid and then clicks edit which will take them to another page where they can edit/updated details but I'm not sure how I can pass a value of a selected row in a datagrid to another page. I am aware that you can add a template column with buttons on but I would like to have one set of buttons rather than have buttons on each row of the datagrid.

View 3 Replies

Forms Data Controls :: Passing Dynamic Value To Detail View Of Grid Through Object Selecting Parameter

Oct 4, 2010

Passing dynamic value to Detail view of grid through object selecting parameter

View 4 Replies

DataSource Controls :: Sqldatasource Insert Method - Copy Data To The Other Datasource By Selecting Checkbox

Feb 25, 2010

i have two sqldatasource controls. one i use to display data in textbox's ,filter'd by a select parameter in page behind code. Once checked, i want to copy this data to the other datasource ,by selecting checkbox.Then display this data in detailsview control.

At present the two datasource controls declared , render data to the page simultaneously during pageload. I want to first check data in textbox's from first source, before second datasource is rendered to screen. note, both are filtered by a page variable. i wish to leave the textbox datasource control in situ, as other controls and code depend on it.The other detailsview datasource is my problem?

View 1 Replies

Forms Data Controls :: ReportViewer LocalReport Passing Parameters?

Feb 26, 2010

I know how to pass parameters to Reportviewer in LocalReport mode via textboxes on the page where the user enters them and then they click refresh and everything works fine. What I cannot figure out is how to not pass parameters and make the report display everything, which should be the default.

I know I am missing something really obvious on the Report Parameters screen. Does anybody know the secret?

View 4 Replies

Forms Data Controls :: Passing Parameters To A Popup Dialog?

Oct 26, 2010

I am currently writing an ASP .NET (Framework 3.5) page that has a Grid View inside it.

One of the columns of this GridView contains only buttons, that if clicked should open a popup dialog.

To open the dialog I wrote the following code on the button's event handler:

[Code]....

Now when I click on any of the buttons the dialog opens just fine, however I need to pass some parameters to the dialog so that they can be displayed inside it. That's why I've encoded a Base 64 string and passed it as an argument of the popup dialog (apparently if I just used the plain string, the dialog would not open because the string contained linefeed characters).

Unfortunately I wasn't able to get the parameter (base 64 string) on the code behind of the popup dialog. How can I do this?

View 4 Replies

Forms Data Controls :: Passing Multiple Parameters In Hyperlinkfield In Gridview?

Dec 26, 2010

I have added a gridview in my aspx web page. I have added a hyperlink field, to navigate to another page from the gridview. I am getting the error as:

"There was an error rendering the control.

Index(zero based) must be greater than or equal to zero and less than the size of the argument list. "

This is the code i have used:

[Code]....

[Code]....

When i remove the hyperlink, the grid is getting displayed. I know, there is something wrong i have coded in the DataNavigateURLformatstring, but not sure what is wrong.

I want to pass the StudentID,CourseID,ChildImageID with the link as the querystring.

View 3 Replies

Forms Data Controls :: Passing Dropdownlist Value To Update Parameters In Listview?

Aug 13, 2010

I am trying to pass the value of a dropdownlist to the Update section of a listview. The dropdownlist is bound to one datasource which needs to then pass its selected value to the UpdateCommand sql for another datasource. Here is my code:

[code]....

View 5 Replies

Forms Data Controls :: Passing Multiple Parameters Through The DataNavigateUrlFomratString In GridView?

Apr 29, 2010

I Have a gridview where I have a link to a details page and I need to pass multiple parameters. I currently have the following:

<Columns>
<asp:BoundField DataField="AssocID" HeaderText="AssocID" InsertVisible="False"
ReadOnly="True" SortExpression="AssocID" />
<asp:BoundField DataField="FirstName" HeaderText="First Name"
SortExpression="FirstName" />
<asp:BoundField DataField="MiddleInitial" HeaderText="M. I."
SortExpression="MiddleInitial" />
<asp:BoundField DataField="LastName" HeaderText="Last Name"
SortExpression="LastName" />
<asp:BoundField DataField="State" HeaderText="State" SortExpression="State" />
<asp:BoundField DataField="EMail1" HeaderText="EMail 1"
SortExpression="EMail1" />
<asp:BoundField DataField="AddrType" HeaderText="Addr Type"
SortExpression="AddrType" />
<asp:HyperLinkField DataNavigateUrlFields="AddrID,AssocID"
DataNavigateUrlFormatString="Details.aspx?AddrID={0}&AssocID={1}" HeaderText="Details"
Text="Details" />
<asp:BoundField DataField="AddrID" HeaderText="AddrID" InsertVisible="False"
ReadOnly="True" SortExpression="AddrID" Visible="False" />
</Columns>

According to all I have read my DataNavagateUrlFields string should work but it isn't. The deal is that any one (AssocID) can have multiple AddrID's associated with it. Regardless of which I choose I only get back the first AddrID for that AssocId.

View 10 Replies

Getting Controls Name From Event Handler?

Apr 7, 2010

In desktop programming, I can usually find out which control has fired an event via using the following coding:

[Code]....

However in ASP.Net, button derives from System.Web.UI.WebControls.Button an does not feature an extension method for Name, therefore can anyone come up within something similar that will work in ASP?

View 3 Replies

Forms Data Controls :: LinqDataSource Selecting Event Fire Twice?

Sep 23, 2010

In my web app, I used LinqDataSource, ListView and DataPager (.NET 3.5 sp1) to implement search feature with paging. I have a button to trigger the search.

But In the first time, the Selecting event of LinqDataSource fire twice and I don't know why (I debugged my code very carefully). I don't use QueryString with DataPager and assign PageSize of DataPager in the first time of page load to prevent the ListView bind again (as in some instructions I found in forum)

I can't post my code because it's quite large.

View 5 Replies

Forms Data Controls :: Passing Parameters To Stored Procedure When Edit Button Is Clicked In GridView

Oct 27, 2010

I have a grid view that populates and displays data at btn click event from the following sql statement in one of the SP:

SELECT

reg_code, pc_serial, act_code
FROM user_reg
WHERE reg_code=@reg_code

I want to pass parameters to the other Stored procedure when the edit button is clicked in order to update the 2 columns in the specific row at the time. I now how to pass parameters in a regular btn click event or function, but in the case of edit btn in grid view I don't know how to capture data from specific row and then pass it to the SP. Here is Stored Procedure to update the columns (every user always has the same reg code, but may have more than one serial number and activation code, I want to let the user update serial number and then based on the serial number generate new activation code in the SP.):

[Code]....

View 3 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved