Jag har gjort en web service där jag hämtar ut en massa blogginlägg till en lista Lista<list>. Hur kan jag få in detta i en grid? Ska jag hämta det på nåt annat sätt kanske? Det ska fungera att hämta från andra språk än .NET också. Du använder en objectdatasource och låter den vara knuten till webservice proxyn och den funktionen som returernar listan. huu Skulle du kunna ge ett litet kodexempel? Jag kan i stort sett inget om web Service. Jag återkommer lite senare så skall jag visa hur jag har löst det. Jag fyller min listbox så här: Jag vill inte använda DataSet för att hämta hem för det gör det ju besvärligare att använda web servicen med andra språk. Nån som har nån annan idé? Du sätter en webreference i din webb app, det genererar en proxy, den binder du med object datasource vilken du använder som data källa för din dataview. Jag ahr nu försökt på detta sätt men det fungerar inte. Nån som ser vad som är fel? jag vet inte. Jag får felmeddelandet: Det ser ut som din webservice inte fungerar. Har du testat den från browsern? Problemet är att du fångar SqlException sen kastar du bort det och kastar i stället Ni är underbara killar:) Felet var att jag hade tagit bort en kolmun i databasen och glömt ta bort den i min SP, jag försökte alltså hämten en kolumn som inte fanns.Hur får jag ut en lista?
Sv: Hur får jag ut en lista?
Sen binder du gridden mot object datasource.Sv:Hur får jag ut en lista?
Sv: Hur får jag ut en lista?
Sv:Hur får jag ut en lista?
<code>
DataSet myData = SAWService.GetDS("t_quize", "select");
int myCount = myData.Tables[0].Rows.Count;
newInfo.Text ="Antal frågor: " + myCount.ToString() +" st";
lqQuize.DisplayMember = "quize";
lqQuize.ValueMember = "id";
lqQuize.DataSource = myData.Tables[0];
</code>
Vad jag gör är att hämta hem ett helt dataset, och använder det sen.Sv: Hur får jag ut en lista?
Sv:Hur får jag ut en lista?
Nyckelord att söka på google:
Create Web Service proxy asp.net
Use object datasourceSv: Hur får jag ut en lista?
Här försöker jag hämta ut det till en grid
<code>
myLabService.bloggService myService = new bloggService();
protected void Page_Load(object sender, EventArgs e)
{
gvBlogg.DataSource = myService.getAllBloggMess();
gvBlogg.DataBind();
}
</code>
webService.asmx
<code>
[WebMethod(Description="Här hämtar du alla inlägg i bloggen")]
public List<blogg> getAllBloggMess()
{
bloggDB myBlogg = new bloggDB();
List<blogg> bloggList = myBlogg.getAllBloggMess();
return bloggList;
}
</code>
bll/blogg.css
<code>
public blogg(string _header, string _text, string _author, DateTime _date)
{
bloggHeader = _header;
bloggText = _text;
author = _author;
date = _date;
//bloggDB myBlogg = new bloggDB();
//return myBlogg.getAllBloggMess();
}
</code>
dal/bloggDB.css
<code>
public List<blogg> getAllBloggMess()
{
SqlConnection conn = new SqlConnection(DBConnection);
SqlCommand cmd = new SqlCommand("getAllBloggMess", conn);
cmd.CommandType = CommandType.StoredProcedure;
try
{
conn.Open();
SqlDataReader r = cmd.ExecuteReader();
List<blogg> bloggList = new List<blogg>();
while (r.Read())
{
blogg myBlogg = new blogg((string)r["bloggHeader"], (string)r["bloggText"], (string)r["author"], (DateTime)r["date"]);
bloggList.Add(myBlogg);
}
r.Close();
return bloggList;
}
catch (SqlException err)
{
throw new ApplicationException("Det uppstod ett fel");
}
finally
{
conn.Close();
}
}
</code>Sv: Hur får jag ut en lista?
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ApplicationException: Det uppstod ett fel
at bloggDB.getAllBloggMess() in c:\Inetpub\wwwroot\asp2\lab3\App_Code\dal\bloggDB.cs:line 48
at WebService.getAllBloggMess() in c:\Inetpub\wwwroot\asp2\lab3\App_Code\WebService.cs:line 148
--- End of inner exception stack trace ---
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ApplicationException: Det uppstod ett fel
at bloggDB.getAllBloggMess() in c:\Inetpub\wwwroot\asp2\lab3\App_Code\dal\bloggDB.cs:line 48
at WebService.getAllBloggMess() in c:\Inetpub\wwwroot\asp2\lab3\App_Code\WebService.cs:line 148
--- End of inner exception stack trace ---
Jag har inte en susning om vad som blir fel.
------------------------------- EDIT ----------------------------------
Nu får jag nåt annat felmeddelande, kolla här http://81.233.110.17/asp2/lab3Client/Sv:Hur får jag ut en lista?
Sv:Hur får jag ut en lista?
"Det uppstod ett fel"... Alltså ser du inte vad som är fel..
Skippa try catch och låt det ursprungliga felet bubbla upp så du ser vad som går fel.
Det är så smutt med webbservices i dotnet att exceptions paketeras i soap och returneras till anroparen över http som får möjlighet att hantera problemet på ett lämpligt sätt.Sv: Hur får jag ut en lista?
Tusen tack för hjälpen:)