I am sure there are many ways to do this. I am sending it back on a button with extra parameters but you can also wire up the store 'submit' as well.
Example 1:
<ext:Button ID="BtnAutoSave" Text="Save" Icon="Disk" IDMode="Static" Hidden="true">
<AjaxEvents>
<Click
OnEvent="Submit_TCGridPanels"
Timeout="20000"
Method="POST"
Before="msgEvent('AutoSaved!');"
ViewStateMode="Include">
<ExtraParams>
<ext:Parameter Name="EventAction" Value="AutoSave" />
<ext:Parameter Name="Week1" Value="Ext.encode(FullTimecard1_TC1_TimeCardGrid.getRowsValues(false))" Mode="Raw" />
<ext:Parameter Name="Week2" Value="Ext.encode(FullTimecard1_TC2_TimeCardGrid.getRowsValues(false))" Mode="Raw" />
</ExtraParams>
</Click>
</AjaxEvents>
</ext:Button>
Sometimes its more straightforward to just have the store call back with the information on submit:
<ext:Store
ID="TCStore"
runat="server"
OnSubmitData="TCStore_Submit"
UseIdConfirmation="true"
OnRefreshData="TCStore_RefreshData">
<Proxy>
<ext:DataSourceProxy />
</Proxy>
<Reader>
<ext:JsonReader>
<Fields>
<ext:RecordField Name="Id" Type="Auto"></ext:RecordField>
<ext:RecordField Name="LineNumber" Type="String"></ext:RecordField>
<ext:RecordField Name="PayType" Type="String"></ext:RecordField>
Then in your code behind:
protected void TCStore_Submit(object sender, StoreSubmitDataEventArgs e)
{
...
}