datagrid has no property datasource - datagrid

I couldnt use dataSource property of dataGrid ?
my usings are
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
using System.Data;
private void button4_Click(object sender, RoutedEventArgs e)
{
tabControl1.SelectedIndex = 3;
dataGrid2.DataSource///////////////does not come up :S
ExcelData exceldata = new ExcelData();
this.dataGrid2.DataContext = exceldata;
}
what I missed?

it's DataSource not Datasource

Kindly Take a look at DataGrid Datasource property
also windows Datagrid does not have any Datacontext property
Take a look at Windows Datagrid

Related

'Unknown server tag' as I'm trying to use a custom control

I'm a complete autodidact and never had added new classes to a Visual Studio project before. I stepped now on this post which seems pretty cool and therefore wanted to implement the described class and control.
I added a new class to my asp.net project DesignProject and pasted the code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
namespace DesignProject
{
public class DataPlaceHolder : PlaceHolder
{
protected override void DataBindChildren()
{
if (Visible)
{
base.DataBindChildren();
}
}
}
}
How can I use the control DataPlaceHolder in the markup? I've been trying with DesignProject:DataPlaceHolder.... but Unknown server tag 'DesignProject:DataPlaceHolder'.
Martin
Try:
<%# Register TagPrefix="myControl" Namespace="DesignProject" Assembly="MyApp" %>

ASP.NET C# partial class in separate files not working CS1061

I have an asp.net page called prequal.aspx with a codebehind of prequal.aspx.cs. It works. I want to separate out each client code from this page into their own partial files (to reduce chance of modifying the wrong one by mistake later.) Both .cs files begin as such:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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 prequal : System.Web.UI.Page
{
When I put one of the clients code into its own file, it compiles fine but I get the following error when I try to view the page:
CS1061: 'ASP.prequal_aspx' does not contain a definition for 'lnkLanguage_Click' and no extension method 'lnkLanguage_Click' accepting a first argument of type 'ASP.prequal_aspx' could be found (are you missing a using directive or an assembly reference?)
prequal.aspx has this:
<asp:LinkButton id="lnkLanguage" onclick="lnkLanguage_Click" runat="server" CausesValidation="False">English / En EspaƱol</asp:LinkButton>
prequal.aspx.cs has this:
protected void lnkLanguage_Click()
{
// alternate preferred language
if (Session["lang"].ToString() == "spa")
{
Session["lang"] = "eng";
}
else
{
Session["lang"] = "spa";
}
populateQuestions();
}
populateQuestions() will call other code in prequal.aspx.cs which calls code in prequal-client1.aspx.cs. The code works before I split it up so am I going about creating separate partial class files incorrectly? Or is the issue something else that I am unaware of yet?
I believe the signature for lnkLanguage has to be:
protected void lnkLanguage_Click(object sender, EventArgs e)
{
//...
}

Visual Studio keeps replacing my custom control namespace in designer.cs

I try to create a custom control which inherits from GridView ( using tut http://msdn.microsoft.com/en-us/library/yhzc935f(v=vs.100).aspx ). After each build Visual Studio keeps replacing my reference to my custom namespace with its own in Default.aspx.designer.cs
protected global::System.Web.UI.WebControls.WebParts.GridViewCustom GridView1;
each time I did put
protected GridViewCustom.GridViewCustom GridView1;
Why ?
In assembly.cs I have added
using System.Web.UI;
...
[assembly: TagPrefix("GridViewCustom", "GridViewCustom")]
In default.aspx I have:
<asp:GridViewCustom ID="GridView1" runat="server">
</asp:GridViewCustom>
This is my source code for the control (source file is in App_Code):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace GridViewCustom
{
[DefaultProperty("Text")]
[ToolboxData("<{0}:GridViewCustom runat=server></{0}:GridViewCustom>")]
public class GridViewCustom : System.Web.UI.WebControls.GridView
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null) ? String.Empty : s);
}
set
{
ViewState["Text"] = value;
}
}
protected override void RenderContents(HtmlTextWriter output)
{
output.Write(Text);
}
}
}
I'm having the same problem. One option is suggested by the autogenerated designer file -- remove the declaration from the .designer.cs file and explicitly declare it in your codebehind file.
Otherwise, you might try looking into the solution outlined in this question: Visual Studio 2010 keeps changing my winforms control.
Update:
Having registered my controls globally in a web.config file, I just experimented with changing the tagPrefix declaration to something unique, as opposed to an existing prefix shared by other custom controls, and suddenly everything is fine. The strange thing is that I no longer see the declaration in the designer file, but it still works.
Still confusing.

Access drop down list from code behind

I have an .aspx file that has 3 drop down lists:
ddlMake
ddlModel
ddlColour
i have a Page_Load function but i cant acces them in the Page_Load function...
using System;
using System.Collections.Generic;
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;
namespace NorthwindCascading
{
public partial class _IndexBasic : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CarService service = new CarService();
List<string> Makes = service.GetCarMakes();
ddlMake.DataSource = Makes;
ddlMake.DataBind();
ddlMake.Items.Insert(0, " -- Select Make -- ");
}
}
}
}
I have added the code-behind file manually so i guess i am missing something... it just says that the ddlMake element is not defined in current context...any suggestions?
Rather than figure out what went wrong. I suggest you just simply delete the file and re-do what you have done again. Will save your time....
Make sure your CodeFile/CodeBehind attribute in the page directive is pointing to the correct file. If so, make sure the Inherits attribute in the page directive is naming the correct class name.
If you added the code behind manually, then the _IndexBasic.designer.cs probably doesn't contain the protected members, which would be why you cannot see them here. Or, your aspx is not referencing this as your codebehind.
Right-click on your .aspx page and hit Convert to Web Application - that will create and populate the designer file.

web ui controls and ASP.NET MVC

Why will not fill View page of this controller method
public ActionResult Person()
{
testEntities6 testPersons = new testEntities6();
IQueryable<person> persons;
DropDownLst.Items.Clear();
DropDownLst.Items.Add("proba");
persons = from i in testPersons.person
select i;
return View(persons);
}
and include namespaces:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using MvcKVteam.Models;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
In view page I put this code:
<asp:DropDownList ID="DropDownLst" runat="server">
</asp:DropDownList>
I don't think you can use server controls in MVC. You should be using HTML Helpers instead.
Based on your existing code:
<%= Html.DropDownList("DropDownLst", Model.AsEnumerable()) %>
But I would recommend using a View Model instead of just passing an IQueryable to the View. I also recommend you pick up an MVC book. Professional ASP.NET MVC 1.0 is really good, but doesn't cover the 2.0 release.
Rich

Resources