PDA

View Full Version : مبتدی: استفاده از uniqueidentifier در Quert String



hiran
سه شنبه 21 تیر 1390, 01:52 صبح
سلام
روی یک گرید یک ستون HyperLinkField تعریف کرده ام که با کلیلک کردن روی آن صفحه Components.aspx را صدا می زند و مقدار یک فیلد که نوع آن UniqIdentifire است را از طریق Query String به آن ارسال می کند. URL آن به این صورت است:

Components.aspx?SectionId=0ccf5eac-5eba-46f3-808e-3b37561d9c3b

در صفحه Components.aspx یک گرید دارم و دیتا سورس متصل به آن را طوری تنظیم کرده ام که مقدار Uniqidentifire موجود در Query String را به عنوان شرط عبارت SQL آن در نظر بگیرد، اما کار نمی کند. یعنی هیچ رکوردی را بر نمی گرداند.

اما وقتی نوع فیلدی که از طریق Query String می فرستم را در دیتابیس ام از UniqIdentifire به int عوض می کنم و عبارت URL ارسالی از صفحه اول به دوم به صورت زیر می شود:

Components.aspx?SectionId=1

همه چیز درست کار می کند و گریدی که در صفحه Components.aspx قرار دارد رکوردهایی که فیلد SectionId آنها برابر 1 است را بر می گرداند.

فکر می کنم مشکل در نوع UniqIdentifire است و باید در صفحه Components.aspx ایتدا آن را به نوع String تبدیل کنم و در مرحله بعد آن را به عنوان شرط به SQL ارسال کنم تا درست عمل کند. اما نمی دانم چگونه این کار را انجام دهم؟
اگر هم اشتباه می کنم و مشکل چیز دیگری است لطفاً راهنمایی بفرمایید. متشکرم.

(من در این دو صفحه هیچ کدی ننوشته ام و صرفاً گریدها را کانفیگور کرده ام)

hiran
سه شنبه 21 تیر 1390, 13:29 عصر
مشکل حل شد. کافی است در تگ asp:QueryStringParameter نوع را از Object به String تغییر دهیم. به این صورت:


<SelectParameters>
<asp:QueryStringParameter Name="SectionId" QueryStringField="SectionId"
Type="String" />
</SelectParameters>