Solved

FormView - Multiple DataKeyNames - how do I retrieve one of the values?

Posted on 2010-11-25
10
1,480 Views
Last Modified: 2012-05-10
Hi
I need to get the value of one of CostID from my DataKeyNames in a FormView.  I have tried:

DataKey key = fvCostJob.DataKey["CostID"];
string costID = key.Value.ToString();

My code is:
<asp:FormView ID="fvCostJob" runat="server" CellPadding="4"
            DataKeyNames="CostID,LoadID" DataSourceID="SqlDataSource1" ForeColor="#333333">

The line that's causing the problem is:
DataKey key = fvCostJob.DataKey["CostID"];
Intellisense tells me "cannot implicitly convert type 'Object' to ...DataKey"
0
Comment
Question by:Lorna70
  • 4
  • 3
  • 2
  • +1
10 Comments
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 34212068
The DataKey collection doesn't return a DataKey object it returns the actual value of the key. So, if your CostID is an integer you would do something like:

    int costId = int.Parse(fvCostJob.DataKey["CostID"].ToString());

Open in new window

0
 
LVL 3

Accepted Solution

by:
Sokrates earned 250 total points
ID: 34212280
DataKey key = fvCostJob.DataKey["CostID"]; ----> IS NOT NESESSARY

TRY THIS:
string costID = fvCostJob.DataKey["CostID"].ToString();
0
 
LVL 5

Expert Comment

by:bmxer
ID: 34213018
string xxx = fvCostJob.DataKey["CostID"];
0
NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

 
LVL 52

Expert Comment

by:Carl Tawn
ID: 34290396
Nice of you to ignore my post! Given that I put exactly the same thing earlier (ok, i assumed CostID was an int so did the cast, but the principle was the same)
0
 
LVL 3

Expert Comment

by:Sokrates
ID: 34290503
With all the respect...
carl_tawn you are right to a point. If you see question it says:

DataKey key = fvCostJob.DataKey["CostID"];
string costID = key.Value.ToString();

Read carefully and answer straight to the point. If you compare our answers you will see:
1) you did not mention that  DataKey key =.... is not needed
2) costID is a string not an integer.
my answer was staight to the point

peace
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 34290533
Actually I think you'll find that I explained that the DataKey collection doesn't actually return a DataKey object, which is a little more detailed that "IS NOT NECESSARY".
0
 

Author Comment

by:Lorna70
ID: 34290576
Sorry Carl but I was in a hurry so just gave points to the best answer.  I think you've helped me before so next time I'll make sure I allocate points to you :-)  Thanks.
0
 
LVL 3

Expert Comment

by:Sokrates
ID: 34290746
The question was "I need to get the value of one of CostID from my DataKeyNames in a FormView" and two lines of code attached:
DataKey key = fvCostJob.DataKey["CostID"];
string costID = key.Value.ToString();
clean and clear i gave the solution..

"The DataKey collection doesn't return a DataKey object it returns the actual value of the key" it is not clear that is not needed.
0
 

Author Comment

by:Lorna70
ID: 34290785
Now now boys lol!  You have both been really helpful and as I said, I'll assign points to Carl the next time he helps.  Think no more should be said now :-)
0
 
LVL 3

Expert Comment

by:Sokrates
ID: 34290834
No worries Lorna70. Thanks for the points.     :)
carl_tawn i apologise if i disrespect you in any way...
0

Featured Post

Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Question has a verified solution.

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

Lots of people ask this question on how to extend the “MembershipProvider” to make use of custom authentication like using existing database or make use of some other way of authentication. Many blogs show you how to extend the membership provider c…
In .NET 2.0, Microsoft introduced the Web Site.  This was the default way to create a web Project in Visual Studio 2005.  In Visual Studio 2008, the Web Application has been restored as the default web Project in Visual Studio/.NET 3.x The Web Si…
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

770 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