因此,我正在開發一個微軟的Lightswitch應用程序在C#中使用Visual Studio 2013,我需要一個動態的用戶界面。微軟Lightswitch使用C#創建動態用戶界面,jQuery的移動和JavaScript
基本上在數據庫中我有一個Person表,一個技能表和一個PersonSkills表,它們將兩者聯繫在一起(一個人可以有多種技能,每種技能都有技能級別。自動取出並完成)。
現在AddSkill頁面上,我需要能夠添加,因爲我想盡可能多的技能,而不必一遍遍打開相同AddSkill彈出。我目前的做法是(使用谷歌瀏覽器)右鍵單擊+按鈕搜索技能並選擇檢查元素,以查看該按鈕的CSS代碼(因爲它是一個css/jquery移動元素)。
這給了我該技能框和級別框的CSS代碼,並且每當技能發生變化時使用lightswitch的postRender方法和.change jquery方法,我將其他技能和級別框的代碼添加到組件。
myapp.AddEditPersonSkill.left_postRender = function (element, contentItem) {
// Write code here.
var context = $(element);
//Sorry that its all in one line and terrible...
context.change(function() {
context.append('<div class="msls-first-column msls-presenter msls-ctl-rows-layout msls-vauto msls-hstretch msls-presenter-content msls-font-style-normal msls-hscroll msls-label-host msls-rows-layout" style="min-width: 200px; max-width: 400px; width: 229px;"><div class="msls-clear msls-first-row msls-presenter msls-ctl-details-modal-picker msls-vauto msls-hstretch msls-leaf"><div class="msls-label msls-label-align-top msls-clear msls-vauto"><label>Skill</label></div><div class="msls-clear msls-presenter-content msls-font-style-normal msls-vauto msls-hscroll"><div class="id-container"><form class="ui-listview-filter ui-bar-a ui-listview-filter-inset" role="search"><div class="ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-searchfield ui-body-a ui-mini"><input placeholder="Search" data-type="search" class="ui-input-text ui-body-a"><a href="#" class="ui-input-clear ui-btn ui-btn-up-a ui-shadow ui-btn-corner-all ui-fullsize ui-btn-icon-notext ui-input-clear-hidden" title="clear text" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-icon="delete" data-iconpos="notext" data-theme="a" data-mini="false"><span class="ui-btn-inner"><span class="ui-btn-text">clear text</span><span class="ui-icon ui-icon-delete ui-icon-shadow"> </span></span></a></div></form><ul class="id-auto-complete-element ui-listview ui-listview-inset ui-corner-all ui-shadow" data-role="listview" data-inset="true" data-filter="true" data-filter-theme="a" data-filter-placeholder="Search"></ul><a class="id-modal-button msls-has-search msls-large-icon ui-btn ui-btn-up-a ui-shadow ui-btn-corner-all ui-mini ui-btn-icon-notext" tabindex="0" data-role="button" data-icon="msls-add" data-mini="true" data-iconpos="notext" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="a" title=""><span class="ui-btn-inner"><span class="ui-btn-text"></span><span class="ui-icon ui-icon-msls-add ui-icon-shadow"> </span></span></a></div><div class="id-auto-complete-dropdown"></div></div></div><div class="msls-clear msls-last-row msls-presenter msls-ctl-text-box msls-vauto msls-hstretch msls-leaf msls-redraw"><div class="msls-label msls-label-align-top msls-clear msls-vauto"><label for="b8bfe3adf-Level" class="ui-input-text">Level</label></div><div class="msls-clear msls-presenter-content msls-font-style-normal msls-vauto msls-hscroll"><div class="ui-input-text ui-shadow-inset ui-corner-all ui-btn-shadow ui-body-a ui-mini"><input type="text" class="id-element ui-input-text ui-body-a" data-mini="true" maxlength="255" id="b8bfe3adf-Level"></div></div></div><div class="msls-clear"></div></div>');
});
};
這就是所有罰款和良好的 - 但是,現在的問題是:新的技能框(剛加入到屏幕)沒有工作按鈕 - CSS/jQuery Mobile的按鈕不執行任何操作。第一個仍然正常工作,但新的一個壞了。
有沒有比我所做的更好的方式做到這一點?有沒有內置的lightswitch方式來做到這一點?
編輯:所以它看起來像jQuery的按鍵事件是JavaScript文件中的其他地方,而不是按鈕聲明本身內:
http://demos.jquerymobile.com/1.2.1/docs/buttons/buttons-events.html
這意味着即使我創造了「看起來和感覺'按鈕,他們實際上沒有做任何事情。我必須找出按鈕調用的方法,然後使用.bind jquery方法將新按鈕綁定到相同的方法。
你能澄清,如果已經存在的技術記錄,你想要的是從人的屏幕聯想到現有的技能(創建新PersonSkill記錄)不開放每次都有PersonSkill屏幕? – 2014-10-07 15:31:47
是的,這是絕對正確的。我正在努力的+按鈕提出了存儲在不同表格中的現有技能記錄列表(可預見的是技能表格)。 – Antag 2014-10-08 09:25:02