I want to create sequence numbers in asp.net mvc2..
Then number should start from { 0 to 1000}
. I tried like following,
var seq = Enumerable.Range(1, 1000);
ViewData["OrderNo"] = seq;
In view:
<%:Html.Hidden("OrderNo") %>
<%:ViewData["OrderNo"] %>
My result is
System.Linq.Enumerable+<RangeIterator>d__b8
But when getting value in view it is not working... How to generate sequential numbers?
If you want to enumerate a sequence of numbers (IEnumerable<int>
) from 0
to a variable end
, then try
Enumerable.Range(0, ++end);
In explanation, to get a sequence of numbers from 0 to 1000, you want the sequence to start at 0 (remembering that there are 1001 numbers between 0 and 1000, inclusive).
If you want an unlimited linear series, you could write a function like
IEnumerable<int> Series(int k = 0, int n = 1, int c = 1)
{
while (true)
{
yield return k;
k = (c * k) + n;
}
}
which you could use like
var ZeroTo1000 = Series().Take(1001);
If you want a function you can call repeatedly to generate incrementing numbers, perhaps you want somthing like.
using System.Threading;
private static int orderNumber = 0;
int Seq()
{
return Interlocked.Increment(ref orderNumber);
}
When you call Seq()
it will return the next order number and increment the counter.
It's unclear what you mean or what you consider a failure, but the parameters of Enumerable.Range are start
and count
, not start
and end
.
If you want to generate numbers that start from 0 and end at 1000 you will have to write:
Enumerable.Range(0,1001);
If you have a different problem (eg the sequence doesn't persist between user calls, or from user to user or whatever), you will have to be specific.
Perhaps what you mean is that the IEnumerable you store in the ViewData doesn't get persisted as you expected in the View? That's because Range returns an object that implements IEnumerable and uses deferred execution to produce the requested values. Unless you force the enumeration with a for
or a ToArray() the numbers will not be generated at all. Storing the object somewhere doesn't force an enumeration.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With