December 2008 - Posts
This can be done one of 2 ways. A default ListItem can be added to a DropDownList programmatically with the following syntax after binding data to the DropDownList:
//Code here to populate DropDownList
DropDownListID.Items.Insert(0, new ListItem("Please Select One", "Default value")
This will add a ListItem to index 0, which will be the first ListItem.
In .NET 2.0, this can be done declaratively using the AppendDataBoundItems property. This will append all data-bound ListItems to the DropDownList, leaving those you add manually as the first selections.
<asp:DropDownList ID=DropDownListID AppendDataBoundItems=true runat=server>
<asp:ListItem Text=Please Select One Value=Default value />
</asp:DropDownList>
Yesterday I was seeking for articles about benefits and advantages of LINQ technologies, and I found alot which I tried to mention them here (some of them I took from msdn forums)..
Benefits of LINQ:
1. Makes it easier to transform data into objects, meaning that LINQ reduces the amount of work you must do to translate between object-oriented code and data paradigms such as hierarchical, flat-file, messages, relational, and more. It doesn’t eliminate the “Impedence Mismatch” because you must still reason about your data in its native form, but the bridge from here to there is (IMO) much shorter.
2. A common syntax for all data. Once you learn query syntax, you can use it with any LINQ provider. I think this is a much better development paradigm than the Tower of Babel that has grown over the years with data access technologies. Of course, each LINQ provider has unique nuances that are necessary, but the basic approach and query syntax is the same.
3. Strongly typed code. The C# (or VB.NET) query syntax is part of the language and you code with C# types, which are translated into something a provider understands. This means that you gain the productivity of having your compiler find errors earlier in the development lifecycle than elsewhere. Granted, many errors in stored proc syntax will generate errors when you save, but LINQ is more general than SQL Server. You have to think of all the other types of data sources that generate runtime errors because their queries are formed with strings or some other loosely typed mechanism.
4. Provider integration. Pulling together data sources is very easy. For example, you can use LINQ to Objects, LINQ to SQL, and LINQ to XML together for some very sophisticated scenarios. I think it’s very elegant.
5. Reduction in work. Before LINQ, I spent a lot of time building DALs, but now my DataContext is the DAL. I’ve used OPFs too, but now I have LINQ that ships with multiple providers in the box and many other 3rd party providers, giving me the benefits from my previous points. I can set up a LINQ to SQL DataContext in a minute (as fast as my computer and IDE can keep up).
6. Performance in the general case doesn’t become an issue. SQL Server optimizes queries quite well these days, just like stored procs. Of course, there are still cases where stored procs are necessary for performance reasons. For example, I’ve found it smarter to use a stored proc when I had multiple interactions between tables with additional logic inside of a transaction. The communications overhead of trying to do the same task in code, in addition to getting the DTC involved in a distributed transaction made the choice for a stored proc more compelling. However, for a query that executes in a single statement, LINQ is my preferred choice because even if there was a small performance gain from a stored proc, the benefits in previous points (IMO) carry more weight.
7. Built-in security. One reason I preferred stored procs before LINQ was that they forced the use of parameters, helping to reduce SQL injection attacks. LINQ to SQL already parameterizes input, which is just as secure.
8. LINQ is declarative. A lot of attention is paid to working with LINQ to XML or LINQ to SQL, but LINQ to Objects is incredibly powerful. A typical example of LINQ to Objects is reading items from a string[]. However, that’s just a small example. If you think about all of the IEnumerable<T> collections (you can also query IEnumerable) that you work with every day, the opportunities are plentiful. i.e. Searching an ASP.NET ListBox control for selected items, performing set operations (such as Union) on two collections, or iterating through a List<T> and running a lambda in a ForEach of each item. Once you begin to think in LINQ, which is declarative in nature, you can find many of your tasks to be simpler and more intuitive than the imperative techniques you use today.
I could probably go on, but I’d better stop there. Hopefully, this will provide a more positive view of how you could be more productive with LINQ and perhaps see it as a useful technology from a broader perspective.
Happy Programming
Rami M. Nassar
In a DataGrid we can show the data of a table easily. But if we want to show the data of two tables in a DataGrid then how we will show the data. For showing the data of two table in a single DataGrid we have to used the DataSet merge property.
For showing the data of two table in a dataGrid make sure that the field name and field type of both table should be same.
The aspx code is:
<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”Default.aspx.cs” Inherits=”_Default” %>
<!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>Merge Two DataSet</title>
</head>
<body>
<form id=”form1″ runat=”server”>
<div>
<table width=”70%” align=”center” border=”4″>
<tr><td height=”20px”></td></tr>
<tr><td align=”center”>
<asp:DataGrid ID=”GridAllRecord” runat=”server” HeaderStyle-BackColor=”blue”>
</asp:DataGrid>
<tr><td height=”20px”></td></tr>
</td></tr>
</table>
</div>
</form>
</body>
</html>
The aspx.cs code
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
SqlConnection con;
SqlDataAdapter da;
DataSet ds1 = new DataSet();
DataSet ds2 = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
binddata();
}
public void binddata()
{
con=new SqlConnection(“Data Source=MCN101; Initial Catalog=MergeTable; Uid=sa; pwd=”);
da = new SqlDataAdapter(“Select * from Table1″, con);
da.Fill(ds1, “Record”);
da = new SqlDataAdapter(“select * from Table2″, con);
da.Fill(ds2, “Record”);
ds1.Merge(ds2);
GridAllRecord.DataSource = ds1;
GridAllRecord.DataBind();
}
}
The .NET Framework 2.0 provides APIs for accessing settings in a configuration file.
Here’s how you access the mail settings of a config file programmatically such as example…
C#
using System.Configuration;
using System.Web.Configuration;
using System.Net.Configuration;
Configuration configurationFile = WebConfigurationManager.OpenWebConfiguration("PathToConfigFile");MailSettingsSectionGroup mailSettings = configurationFile.GetSectionGroup(
"system.net/mailSettings") as MailSettingsSectionGroup; if (mailSettings != null){
int port = mailSettings.Smtp.Network.Port; string host = mailSettings.Smtp.Network.Host; string password = mailSettings.Smtp.Network.Password; string username = mailSettings.Smtp.Network.UserName;}
VB.NET
Imports System.Configuration
Imports System.Web.Configuration
Imports System.Net.Configuration
Dim configurationFile As Configuration = WebConfigurationManager.OpenWebConfiguration("PathToConfigFile")Dim mailSettings As MailSettingsSectionGroup = configurationFile.GetSectionGroup("system.net/mailSettings")
If Not mailSettings Is Nothing Then
Dim port As Integer = mailSettings.Smtp.Network.Port
Dim host As String = mailSettings.Smtp.Network.Host
Dim password As String = mailSettings.Smtp.Network.Password
Dim username As String = mailSettings.Smtp.Network.UserName
End If
More Posts