nokhod
چهارشنبه 06 تیر 1386, 11:51 صبح
سلام. خسته نباشید.
من دارم یه سایت طراحی میکنم که هم فارسیه هم انگلیسی. یه مشکلی دارم:
من در صفحاتم از SqlDataSource استفاده کردم و ConnectionString رو از تو Web.config و EnglishConnectionString می خونه. حالا می خوام DataBase هم هم فارسی و هم انگلیسی باشه.(یعنی دو تا DataBase داشته باشیم یکی ماله فارسی و دیگری ماله انگلیسی) حالا اگه کاربر زبان فارسی رو انتخاب کرد اطلاعاتی که در DataBase فارسی هست نمایش داده بشه در غیر این صورت متناظرشون تو DataBase انگلیسی. حالا لازمه که ConnectionString همه SqlDataSourceهام عوض بشه. به نظر من دو راه برای این کار وجود داره:
1-هر دو ConnectionString رو توی Web.config ذخیره کنیم و بگیم
if (Session["Language"] == "Farsi")
SqlDataSource1.ConnectionString = ConfigurationManager.ConnectionString["FarsiConnectionString"];
else
SqlDataSource1.ConnectionString = ConfigurationManager.ConnectionString["EnglishConnectionString"];
که باید این کد رو برای همه ی DataSource های همه صفحات بنویسیم که کاری بس طاقت فرساست!!!!
2- در صفحه ی تغییر زبان همون EnglishConnecionString روتغییر بدیم تا همه DataSource ها بتونن به کار خودشون مشابه قبل ادامه بدن. برای این کار:
ConfigurationManager.ConnectionStrings["EnglishConnectionString"].ConnectionString = FarsiConnectionString;
اما این کد Exception میده:
The Configuration is read only.
اگه میشه این مشکل رو حل کرد لطفا کمکم کنین و در غیر این صورت اگه راه دیگه ای به ذهنتون میرسه لطف کنین و بگین.
خیلی ممنون.
من دارم یه سایت طراحی میکنم که هم فارسیه هم انگلیسی. یه مشکلی دارم:
من در صفحاتم از SqlDataSource استفاده کردم و ConnectionString رو از تو Web.config و EnglishConnectionString می خونه. حالا می خوام DataBase هم هم فارسی و هم انگلیسی باشه.(یعنی دو تا DataBase داشته باشیم یکی ماله فارسی و دیگری ماله انگلیسی) حالا اگه کاربر زبان فارسی رو انتخاب کرد اطلاعاتی که در DataBase فارسی هست نمایش داده بشه در غیر این صورت متناظرشون تو DataBase انگلیسی. حالا لازمه که ConnectionString همه SqlDataSourceهام عوض بشه. به نظر من دو راه برای این کار وجود داره:
1-هر دو ConnectionString رو توی Web.config ذخیره کنیم و بگیم
if (Session["Language"] == "Farsi")
SqlDataSource1.ConnectionString = ConfigurationManager.ConnectionString["FarsiConnectionString"];
else
SqlDataSource1.ConnectionString = ConfigurationManager.ConnectionString["EnglishConnectionString"];
که باید این کد رو برای همه ی DataSource های همه صفحات بنویسیم که کاری بس طاقت فرساست!!!!
2- در صفحه ی تغییر زبان همون EnglishConnecionString روتغییر بدیم تا همه DataSource ها بتونن به کار خودشون مشابه قبل ادامه بدن. برای این کار:
ConfigurationManager.ConnectionStrings["EnglishConnectionString"].ConnectionString = FarsiConnectionString;
اما این کد Exception میده:
The Configuration is read only.
اگه میشه این مشکل رو حل کرد لطفا کمکم کنین و در غیر این صورت اگه راه دیگه ای به ذهنتون میرسه لطف کنین و بگین.
خیلی ممنون.