-
ثبت فاکتور و ردیف فاکتور در یک view
تو پروژه ام یه جدول فاکتور دارم یه جدول هم واسه ردیف فاکتور گذاشتم
یه view تعریف کردم که دوتا تب داره تب اولی فیلدهای فاکتور رو داره تب دومم فیلدهای ردیف فاکتور رو داره که بصورت partial view تعریف کردم و تو تب دوم رندرش کردم پایین صفحه هم گریدویو گذاشتم که ریف فاکتورهایی که در همون لحظه واسه یه فاکتور مشخص ثیت میشه رو نشون بده
حالا مشکل من اینه که چطوری اینا رو باید در جدول ثبت کنم؟
اگه تو صفحه یه دکمه بذارم چطوری دوتا مدل رو به دو اکشن متفاوت پاس بدم
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
یک روش استفاده از جاوا اسکریپت و ajax برای ثبت فاکتور و سپس ثبت زیر فاکتورهاست.
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
اخه من جاوااسکریپت بلد نیستم
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
یک راه اینه اما بهترین راه نیست(با توجه به اینکه جاوااسکریپت بلد نیستی)
ابتدا ردیف ها رو در یک session ثبت کن. سپس وقتی داری اصل فاکتور رو ثبت میکنی از سشن ردیف ها رو هم ثبت کن
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
میشه در مورد کد جاوا اسکریپتش یکم توضیح بدین اخه استادمون گفته با جاوااسکریپت باشه
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
با جاوااسکریپت باید هر سطر به صورت client ی ثبت بشه و هیچ post ای رخ نده. برای اینکار می تونید با استفاده از jquery و تابع append کد html مورد نظر خودتون رو توی یک تگ دیگه اضافه کنید. هنگام ارسال داده دو راه است. اگه از کنترلهای input استفاده کنید می تونید از Html.BeginForm و یا Ajax.BeginForm استفاده کنید. اما اگه تگ های input نباشه که بهتر هم هست(چون حالت فقط خواندنی پیدا میکنی) اون وقت با تابع جی کوئری $.ajax یا $.post می تونید مقادیر رو ارسال کنید برای اینکار تمامی مقادیر رو باید جمع کنید(بهتر بعدش json بشه) و بعدا ارسال کنید.
اینا کلیات بود. در مورد توابع jquery مخصوصا اونهایی که نام بردم مطالعه کنید
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
مدل ویو از نوع BusinessManagement.ViewModel.InvoiceDetailVM
هست میخوام این مدلو به یه ویوی دیگه که مدلش از نوع IEnumerable<BusinessManagement.ViewModel.InvoiceDe tailVM>
هستش پاس بدم چطوری باید این تبدیل نوع رو انجام بدم؟
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
اینکه اولی یک تک کلاس و دومی لیستیه! اصن ماهیتا قابل تبدیل نیستن!
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
شما گفتین با تابع append کد html رو تو یه تگ دیگه اضافه کنم،نمیدونم منظورتون چیه؟
اینجا که من دوتا پارشیال ویو و یک ویو دارم موقع اجرا همه ی تگهای لازم رو دارن
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
فرقی نمیکنه چندتا ویو دارید چون همه اینها در سمت مرورگر با هم ادغام میشه. در مورد اینکه منظورم رو متوجه نشدید خدمت تون فرمودم در مورد این توابع مطالعه کنید. کافیه تو گوگل بزنید jquery append تا مثال های زیادی براتون لیست بشه.
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
ممنون بابت راهنمایتون
چون مبتدیم دقیقا نمیدونم باید چکار کنم حالا برم ببینم چی میشه!
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
من که این همه وقتتونو گرفتم خواهشا اینم جواب بدین!
تو فرم وقتی فیلدای ردیف فاکتور ور پر کردم و دکمه ی افزودن رو زدم چطوری بگم این فیلدا بعنوان یه رکورد در گرید پایین صفحه همون لحظه نمایش داده بشه؟
اگه میشه کدشو بگین!
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
خوب این رو که توضیح دادم. با استفاده از روش جاوااسکریپتی و تابع jquery append
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
سورس گریدوی باید لیست باشه ولی مدلی که تو فرم پر میشه از نوع BusinessManagement.ViewModel.InvoiceDetailVM
هست چجوری این مدل رو به گرید ویو append کنم واسه همین اشکالم اون تبدیل نوع رو پرسیدم
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
از اونجا که جاوااسکریپت در سمت مرورگر هست اصلن کلاس شما قابل شناسایی نیست.
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
میشه تو یه خط کد بگین دستور اضافه کردن فیلدهای پرشده با زدن دکمه به گرید چجوری میشه؟
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
عجب!
دستورش همون append هست. اما شبه کدش این می تونه باشه. اینکه یک کنترل input با id=muinput هست و یک تگ مثلا div با id=container. این بستگی به نوع طراحی شما داره.
با اینها شما یاد نمی گیرید. برید قشنگ jquery رو مظالعه کنید و مثال ببینید.
$("#container").append('<div><span>'+$("#myinput") +'</span>');
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
عجب!!!
واقعا ممنون اقای درخشانی
بخدا باور کنید دستور append رو خوندم فقط نمیدونم چطوری بگم به گرید اضافه کن اخه گرید که ایدی نداره!
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
یا اینکه اصلا گرید نذارم و بجاش div بذارم
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
گرید رو چطوری اضافه کردید؟
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
@{
var grid = new WebGrid(source: Model, defaultSort: "Name", rowsPerPage: 4, canPage: true, canSort: true, selectionFieldName: "selectedRow");
var rowIndex = ((grid.PageIndex + 1) * grid.RowsPerPage) - (grid.RowsPerPage - 1);
}
@grid.GetHtml(tableStyle: "webgrid", headerStyle: "webgrid-header", footerStyle: "webgrid-footer", alternatingRowStyle: "webgrid-alternating-row",
selectedRowStyle: "webgrid-selected-row", rowStyle: "webgrid-row-style",
columns:
grid.Columns
(
grid.Column(format: item => item.Description, header: "ملاحظات"),
grid.Column(format: item => item.Price, header: "قیمت کل"),
grid.Column(format: item => item.Number, header: "تعداد"),
grid.Column(format: item => item.Subject, header: "شرح"),
grid.Column(header: "ردیف", style: "text-align-center-col",format: @<text>@(rowIndex++)</text>)
))
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
باید از روش سشن که گفتم با استفاده از ajax استفاده کنید.
-
نقل قول: ثبت فاکتور و ردیف فاکتور در یک view
من فیلدهای ذخیره شده ینی همون مدل رو در سشن ذخیره میکنم ولی ویویی که گرید توش هست مدلش از نوع لیسته،بازم همون تبدیل نوع پیش میاد